On Wednesday 25 October 2006 11:01 am, Paul Brook wrote:
> >   Oh, c'mon, Rob! I really didn't want to ask Paul Brook that, but
> > sure you'll fix my cluelessness right here, right now - tell me, tell me,
> > why Linux has dynamic-loadable modules support, which clueless passers-by
> > like me call "plugins"? It must be closed-source diversion, no?
> 
> Linux has genuine reasons for wanting modules.
> Kernel size is important because (a) it has to be loaded by the bootloader, 
> often from a small, slow device (eg. floppy, flash or network).
> (b) The whole kernel is permanently locked into ram. It you've ever tried to 
> build a kernel with everything enable you'll know the result is unreasonably 
> large. Modules allow the same kernel to work on a wide variety of large and 
> small machines.

It also avoids a reboot cycle when you want to debug small changes to drivers 
(assuming you didn't crash).  Restarting a userspace app (like qemu) takes 
five seconds.  Restarting the kernel can take a minute and change, and often 
involves pressing a button on a machine that's shoved under a desk and hard 
to get at.

I've found avoiding the reboot cycle to be a nice thing with qemu (and User 
Mode Linux), but alas you can't test a driver for hardware qemu doesn't 
emulate.  Nice for filesystems and VM stuff, though...

Rob
-- 
"Perfection is reached, not when there is no longer anything to add, but
when there is no longer anything to take away." - Antoine de Saint-Exupery


_______________________________________________
Qemu-devel mailing list
Qemu-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/qemu-devel

Reply via email to