[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: kernel debugging





guy keren wrote:

> On Tue, 7 Nov 2000, Omer Musaev wrote:
>
> > But there are no technical info, since, as every f***ing bit on the net,
> > they think that
> > you"d-better-be-lawyer-to-understand-the-linux-kernel.
>
> why do you say that? there is quite a lot of material on the internet that
> helps you understand the kernel and its services. you just got to look.
>

My views may be biased, since I had dealt mostly with networking parts of
linux kernel. I think that networking parts are
_the_ badly documented, written as "ad-hoc", rewritten not-so-from scratch and
generally screwed up. Another note, worth
taking into account is that I use kernel 2.2.14 and not one of the newer
kernels. According to my brief views, many changes
were made, and I can not flame or blame these, since I had'nt dealt with
those.

> there are also mailing lists for various kernel topics (including a kernel
> newbies mailing list - muli - you got the address?)

"last time I checked", one of best sources was the source. Most books are
outdated,
with exception of Rubini's "Linux device drivers", wich, btw, published
updates to examples
for 2.4.x kernels.

The best coverage of Linux's TCP/IP stack was provided by (surprise!!)
Stevens' "TCP/IP Illustrated", volume 2,
along with kernel sources.

Another barely useful source is section 9 of man pages. However, only 28
functions are covered (I did not count pcbios interface).

The bad thing is that there almost no further information! For example: goto
google.com/linux, search for
skb_dequeue.  You will find refernces to man pages, patches of 2.3 ilk, and if
you are lucky, an article by Alan Cox
named "Network Buffers And Memory Management"
(http://www.redhat.com/mirrors/LDP/LDP/khg/HyperNews/get/net/net-intro.html),
which describes briefly some concepts of networking under linux. The article
is very good and very outdated (September 1996).

The code itself is very distant from any kind of perfection:
for example: in case you are using Fastroute and use in that or another way
proto_pack, you end up in fooling kernel to
think that there is a packet socket.

Another example: function dev_get does not deal with any sync issues, as
skb_dequeue does (that was fixed in 2.3 series).

There are plenty of such inconsitiencies, and you should know that, otherwise,
you"ll end up with "debug by printk" syndrome.

With that in mind, you should expect that you can find refernces to those
issues on the net. However, the main mass
of material on the net tries to convince the innocent reader that "Linux is
syupreme, Linus is god and only wimp should use kernel
debugger".

> guy
>
> "For world domination - press 1,
>  or dial 0, and please hold, for the creator." -- nob o. dy

omerm.

=================================================================
To unsubscribe, send mail to linux-il-request@linux.org.il with
the word "unsubscribe" in the message body, e.g., run the command
echo unsubscribe | mail linux-il-request@linux.org.il