Re: Slow DOWN, please!!!

From: Joel Becker
Date: Thu May 01 2008 - 16:09:33 EST


On Thu, May 01, 2008 at 08:37:14PM +0100, Al Viro wrote:
> * one needs to understand enough of the area or know where/how
> to get the information needed for that. I've got some experience with
> the latter and I suspect that most of the folks who do active reviews
> have their own set of tricks for getting into the unfamiliar area fast.
> Moreover, having such set of tricks is probably _the_ thing that makes
> us able to do that kind of work.
> Sharing such (i.e. "here's how one wades through unfamiliar
> area and gets a sense of what's going on there; here's what one looks
> out for; here's how to deal with data structures; here are the signs
> of problematic lifetime logics; here's how one formulates hypothesis
> about refcounting rules; here's how one verifies such and looks for
> possible bugs in that area; etc.) is a Good Idea(tm).

<snip>

> FWIW, I'm trying to do that - right now I'm flipping between
> wading through Cthulhu-damned fs/locks.c and its friends and getting
> the notes I've got from the last month work into edible form (which
> includes translation into something that resembles normal English,
> among other things - more than half of that is in... well, let's call
> it idiom-rich Russian).

I think you've just nailed one of the tricks right there. A
long time ago, I just sat down and wrote up a "how the locking works in
the vfs" document for myself and others. Wrote up the structures, what
each member is for, where the structure appears and disappears, and all
the call chains for all of the locks. When I was done, I had a pretty
good idea of how everything interacted.
I think this is a great trick for ramping up on a section of the
code - documentation is good, but you understand self-written
documentation better.

Joel

--

Life's Little Instruction Book #452

"Never compromise your integrity."

Joel Becker
Principal Software Developer
Oracle
E-mail: joel.becker@xxxxxxxxxx
Phone: (650) 506-8127
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/