Modular vs. Monolithic kernel builds.

Mike A. Harris (mharris@meteng.on.ca)
Sun, 7 Nov 1999 21:27:37 -0500 (EST)


I've built both modular (which I prefer) and monolithic kernels,
and I'm wondering how much benefit at all monolithic kernels give
and if they are even remotely worth bothering with.

First off, I am aware of most of the advantages and disadvantages
of the two approaches, however I don't particularly see any
difference in the areas that are interesting to me: Performance.

As far as memory consumption is concerned, on a modern system
with 64Mb of RAM or higher - a monolithic kernel's increased size
is lost in the noise. A few hundred Kb of drivers built in do
not use up any significant amount of memory that is noticed -
not on my 96Mb system anyways.

What additional overhead is there when a module gets called?
Assuming that a module like af_packet is loaded allready - how
much more cruft is between the calling code and the content of
the af_packet code when it is in a module. Is it a single
function call overhead? Or is it more than that? Does it get
hacked up by the module loading process to appear statically
linked anyways - giving no overhead?

Is the overhead associated with modules only module-load/unload
overhead?

Aside from these questions, are there any particular kernel
sybsystems/drivers/whatever that do significantly work better or
faster in kernel, and is measurable from userland?

Would any differences be measureable on a home PC, versus a busy
server? In other words, would a server benefit by measureable
differences, whereas a home PC wouldn't probably make much
difference at all?

I'm just curious because a lot of stuff I compile modularly ends
up loaded 24/7 anyways, and a 'more' monolithic kernel - if
faster would be prefferred. I just don't want to do so if there
won't be much real noticeable gain.

Please reply privately and not to the list. Thanks in advance
for any information.

TTYL

--
Mike A. Harris                                     Linux advocate     
Computer Consultant                                  GNU advocate  
Capslock Consulting                          Open Source advocate

Join the FreeMWare project - the goal to produce a FREE program in which you can run Windows 95/98/NT, and other operating systems.

http://www.freemware.org

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