Subject: Re: LKM versioning
To: Jaromir Dolecek <jdolecek@netbsd.org>
From: Nathan J. Williams <nathanw@wasabisystems.com>
List: tech-kern
Date: 04/07/2003 12:11:33
Jaromir Dolecek <jdolecek@netbsd.org> writes:

> LKM is only fully compatible with running kernel if:
> * the running kernel version matches with what LKM was built against
> * DIAGNOSTIC, DEBUG, MULTIPROCESSOR have same setting; possibly
>   also LOCKDEBUG
> * maybe something else I forgot

I think that's optimistic. We aren't so agressive with kernel version
bumps that every possible LKM incompatibility is noted there. The
conditions you list are probably necessary for compatibility, but they
are not sufficent. To put it another way, we should remain aware that
no mechanism can prevent all LKM incompatibilites.

> When the LKM would be refused, kernel would print some diagnostics
> to help find out which options were used to build the kernel
> and the LKM.

Diagnostics are good.

> Opinions?

This is an area where pretty much every other Unix-like OS in the
world has more experience than we do. We should be able to learn from
their efforts, rather than blindly reinventing versioning
schemes. What does the prior art look like?

        - Nathan