Re: Kernel interface changes (was Re: cdrecord problems on

tytso@mit.edu
Mon, 8 Feb 1999 00:17:38 -0500


From: hpa@transmeta.com (H. Peter Anvin)
Date: 6 Feb 1999 01:19:58 GMT

Let me do a translation of what I think everyone is saying here:

* The Linux module interface is designed to minimize overhead. That
means raw linkage into the kernel, which means when the kernel
changes, so does the module interface.

This isn't true. There are plenty of changes which don't require
changing the module interface. Changing the module interface happens
when (a) function signatures change, and (b) structure fields or sizes
change. During a stable kernel release, the times when such changes are
absolutely necessary should be relatively few in number.

During the 2.0 kernel series, there have been a few changes where folks
have disputed whether or not they really needed to happen during the 2.0
kernel series, or whether they could have waited until development
series to make such changes. (For example, when structure elements were
re-ordered in the name of improving cache alignment. Did that really
need to happen in the stable kernel series?)

* A stable ABI requires some kind of layering to isolate it from
changes to the kernel code (otherwise the kernel would be
effectively barred from any improvements.)

Again, it's important to note that folks are asking for stabilty in the
stable kernel series. We can still make lots and lots of improvement in
the development series of the kernel. The argument that a request for
stability in the stable kernels means that we can't make any more
improvements in the Linux is very much overstating the case.

The problem I am having is that it's hard to convince MIT developers to
do things like develop an layering API, when no such layering interface
is necessary in NetBSD; NetBSD simply uses a little bit more care in
reserving such changes for their "current" branch of the tree, and
keeping their "stable" branch stable. My perception is that they don't
do it just because it makes life easier for AFS, as much as they are
simply more disciplined in their release engineering.

- Ted

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