How do _you_ read the linux source?

r00nk at simplecpu.com r00nk at simplecpu.com
Mon Apr 20 20:46:57 EDT 2015


> On Sun, 19 Apr 2015, nick wrote:
>
>> On 2015-04-19 09:57 PM, r00nk at simplecpu.com wrote:
>> > 	The problem a lot of newbies are having is in 'separating the trunk
>> > from the leaves.' So my question is this: Experienced kernel
>> developers, how
>> > do _you_ read source code? How do you separate the trunk from the
>> leaves?
>> > What do you do when you read code you're not familiar with? How do you
>> learn?
>> > What's your algorithm?
>
>   *sigh* ... this is the wrong question, in the same way that asking,
> "how do i start writing kernel code?" is the wrong question...

How to start isn't what I'm trying to ask. Like, if this were
mountain climbing, I'm not asking how to start climbing. I've
gotten to the point where I've developed my own technique to climb,
now I'm asking others how they climb, so I can learn/improve my own
technique based on theirs.

>   it seems that there is a regular supply of posters whose opening
> question is something like, "i'm interested in the kernel ... how do i
> get started?" i submit that it's not the mandate of this list to
> answer that question. rather, i submit that it's the mandate of this
> list to answer questions you have *after* you get started and have
> shown that you've invested the time to dig in on your own.

Right, I'm not asking how to get started, I'm asking how you (not I)
go about digging, to see if your method is better then mine. I have
already done a fair amount of digging myself (knock on wood).

I think that meta-cognition is a important part of any skill set.
I'm trying to learn the way skilled kernel developers think, because
learning how skilled people think generally leads into valuable
insights for that said skill.

In my (admittedly small) personal experience, trying to get an idea
of how kernel developers think is difficult. There are a few places
that sort of do it (Documentation/CodingStyle, Documentation/*, lkml),
but those are a bit more geared to management then skill.
I figured rather then trying to parse those and come up with a model
that probably isn't true, I'd just directly ask. I dunno. Maybe its
not an appropriate question for this mailing list.




More information about the Kernelnewbies mailing list