Re: Driver Model 2 Proposal - Linux Kernel Performance v Usability

From: Mike Fedyk
Date: Thu Sep 04 2003 - 16:53:17 EST


On Thu, Sep 04, 2003 at 10:16:03PM +0100, James Clark wrote:
> I agree that at first sight the two concepts (Binary 'plugins' and GPL) don't
> mix well but this is actually FUD which obscures the issue of making the
> kernel much easier to deal with for the masses.

There is some point in easing the use of external modules with a binary
interface. Case in point, winmodems & nvidia. But the question is if we
really want to encourage binary-only modules, which most in the community
don't.

In Linux, drivers are kernel modules, and that has the ability to completly
hose the rest of the kernel if there are bugs in the module. You won't get
around this with a static binary interface unless you put a lot of overhead
and layering between a module and the kernel. Right now, once a module is
loaded, it IS now part of the kernel.

> Like it or not, 99+% of
> 'potential users' don't want/need to recompile their whole kernel, with the
> risks that it has, to add one minor feature.

And they don't. If they don't know how, or don't want to, they should be
using a distribution kernel that does it for them.

Are you saying that you want to add or change something now that is not
modularized yet?

If so what and how? Yes you can say with this nice binary interface you can
add whatever feature you want with a nice new driver. Well, you can do that
now. All you have to do is compile against the source of the kernel you're
running, and you can insert it into the kernel without rebooting.

And if you're trying to change something in a running kernel that isn't a
module you can unload (so the root filesystem is out at the very least),
then you're talking about an entirely new can of worms.
-
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/