Re: Migrating to larger numbers

Richard Gooch (rgooch@atnf.csiro.au)
Tue, 8 Jun 1999 11:45:17 +1000


H. Peter Anvin writes:
> Richard Gooch wrote:
> > >
> > > devfs is based on a completely bogus idea: that a device driver is a
> > > kernel thing. *THIS* is the supreme fallacy, and a major pitfall for
> > > Linux today. devfs in fact helps perpetualize this problem, in large
> > > part by moving policy into the kernel that has no business being there.
> > > It's the DOS way of fixing things -- quick, dirty, and extremely
> > > short-sighted.
> >
> > Oh, come on! Of course a device driver belongs in the kernel. We're
> > not a microkernel, you know.
>
> You have the completely wrong idea what a device driver is! XF86_SVGA
> is a device driver! gpm is a device driver (mouse driver.)
> magicfilter/ghostscript is a device driver (printer driver.) Neither
> belong in the kernel.

You can extend that argument to many existing device drivers in the
kernel. I'm sure quite a few of them could be shoe-horned into user
space. Doesn't mean that would be wise.

> Things belong in the kernel if they *have* to be there. Not otherwise.
> This implies the need for a coherent, *USER SPACE*, setup for managing
> devices. Bootup devices are somewhat a special case, of course, but
> that doesn't change the fundamentals.

In that case, let's start ripping drivers out of the kernel. And
filesystems too (except ext2fs). Use podfuk (sp?). And take out autofs
and knfsd. These things *can* be done in user space.

You're arguing from an idealogical position. This can get in the way
of good engineering.

> > Anyway, you talk about this major pitfall which is a problem. *What*
> > is this "problem"?
>
> The whole design philosophy behind this. "Throw all the crap in the
> kernel, it's the easy solution."

The kernel is there to provide services. If some service can be better
done in user space, or done just as well, fine. But if it is simpler
or more efficient to do it in kernel space, then that makes sense. And
devfs most certainly does make things simpler and more efficient.

What matters is the overall design. A tiny kernel may sound nice, but
not at te expense of a bloated and complex user space.

Regards,

Richard....

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