[LWN Logo]
[Timeline]
Date:	Thu, 13 Jul 2000 14:56:38 -0700 (PDT)
From:	Linus Torvalds <torvalds@transmeta.com>
To:	Alan Cox <alan@lxorguk.ukuu.org.uk>
Subject: Re: [Announce] BKL shifting into drivers and filesystems - beware



On Thu, 13 Jul 2000, Alan Cox wrote:
> 
> I claim:
> Free software development is about minimising information exchange and knowledge
> of external modules.

Indeed.

Note that when it comes to the ->release() BKL semantics, what people
don't apparently don't appreciate is the fact that Al Viro actually
grepped for all release functions, and updated all the ones in the
standard kernel. His announcement and warning was about _external_
modules, exactly because external modules have this problem where they
cannot be updated automatically when something changes.

This is why a central kernel repository is so nice: most of the time when
something changes, we can fix everything in one go, and people don't have
to be all that aware of the changes. It's not always true: some of the VFS
changes (namely the page cache write-through etc) were _so_ intrusive that
it was hard to make the fix-ups available, and as a result a number of
filesystems were left in a broken state.

And quite often the "grep for places to change" approach misses a few
(this, btw, is why I've grown to love the new syntax for structure
initializers: it's a h*ll of a lot easier to do a "grep 'release:' *.c"
than it is to try to figure out where the different "release" entries are
initialized).

But the fact that we need a big kernel repository right now does not
necessarily mean that we'll need one forever. With good enough interfaces
that people can truly feel happy about, it would be possible to split
stuff up one day. That is, after all, how the system call interfaces work,
and is what allows us to split the kernel from everything else.

Of course, usually what is "good enough" one day ends up being "really
bad" the next when some clever bastard came up with the really good way of
doing something..

		Linus


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/