> > Why not? If you could give us some good reasons why not then we probably
> > will drop it. But several times, I have heard this come up, and never a
> > good reason why it shouldn't be done. The two reasons that I have heard are:
> > 1) Memory usage -- so if you can't spare the memory, don't use it!
> > 2) Lack of user configurablity (IE different permissions, different names)
> > -- so we have callbacks through a userspace daemon. Or we let people
> > write really simple kernelspace modules. (Basicly a big select and a
> > function call or three with constant arguments for each case.)
>
> These are the arguments the proponents shoot down constantly, but they
> never address any of the REAL (IMO) problems (although the kernel
> space usage is likely to be prohibitive if done anything remotely like
> correctly.) YOU REALLY DON'T WANT CALLBACKS -- if you do, then your
> device performance and reliability is going straight into the toilet.
To quote myself:
> Or we let people
> write really simple kernelspace modules. (Basicly a big select and a
> function call or three with constant arguments for each case.)
And I note that you are only sucking cycles when you are create a device
file (ie when you load a device driver or add a divice to your system).
> At some point I'll probably get my act together and write an FAQ on
> this. I'm sick and tired of rehashing the same argument every four
> months for about four years now...
>
> -hpa
Kernel modules let us have code with most of the benifits of kernelspace
code (speed, through a lack of context switches), and some of the benifits of
userspace (you can change it without rebooting). But then again, it can
still deference pointers to god-knows-where.
-=- James Mastros
-- Information as a base of power is coming to an end. In the way the world works tomorrow, the power to *do* *something* *with* *information* is what will matter.-=- James Mastros, rephrasing Nugget (David McNett, distributed.net Big Man)