lkml.org 
[lkml]   [2000]   [Jul]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [Announce] BKL shifting into drivers and filesystems - beware


Linus Torvalds wrote:
>
> On Thu, 13 Jul 2000, Jeff V. Merkey wrote:
> >
> > We already have versioning with modver to enforce version mismatches.
>
> It's not about version mismatches.
>
> It's about getting at all the drivers easily, so that one person (or a
> small team) can do a change that updates the interfaces for _everything_
> in one fell swoop.
>
> Which is actually how most of these things get done.
>
> This is how people like Jeff Garzik can update the PCI initialization and
> finding code for hundreds of drivers. This is how Al Viro can get at the
> locking rules, and just update everything he can get his grubby hands on
> in one go. This is, in short, how we can make big changes without having
> to synchronize with every single maintainer of every single piece of the
> system..
>
> Version mismatches protect against mis-use, at least to some degree, and
> at least of the accidental kind. But they don't allow for updating of
> external drivers.
>
> Note, for example, how ReiserFS has been mentioned a number of times in
> the last week on Linux-kernel. That's because reiserfs has reached the
> point where it's used by a lot of people, but it hasn't reached the point
> where it has gotten integrated yet, so while the other filesystems were
> updated to new VFS layer changes, ReiserFS missed out. So did the other
> external ones, but they tend to have a more controlled user base so far:
> ReiserFS has apparently already gotten "out".
>
> Don't get me wrong. To some degree I would _love_ to not have a large
> kernel archive. It's big, and it makes releases harder. No question about
> that. But the monolithic approach definitely has a lot of advantages.
>
> Linus

Linus,

I'm posting MANOS today -- there's an NT flavor DLL loader in the
sources if you want to look at it that's more like Microsoft's than the
one in Linux. NT uses something called a forwarder chain in the DLL
loader to handle this problem for dynanmically linked modules, though I
agree that the way they do it is an absolute hack. They allow the
loader to detect changed APIs and insert a "forwarder" function when the
external reference is resolved by the DLL loader -- this function
evenually calls the real function in kernel but if it's added a
parameter or something, it lets you slip in a forwarder function to
fixup the stack and munge the parms if someone altered an interface.
Something like this would allow us to go modular, and give you the
flexibility you want, but I agree it's still going to be a f_cking
nightmare to get this thing coordinated properly. You may want to
consider diverging after 2.4 and create a "modular" linux tree and see
how many of us bite on it (I certainly would).

:-)

Jeff

-
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/

\
 
 \ /
  Last update: 2005-03-22 13:57    [W:0.127 / U:0.156 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site