Assuming modules load OK then the advantage is not having to recompile a kernel every time a better module becomes available or your hardware
changes
and you need additional modules.
I usually find its far quicker to just build a new kernel and not have to
muck
around with modules that don't load and dependency lists that don't work
etc.
etc. in all modules would be a nice system if they were reliable and
dependable
which in my experience of linux (kernel trees 2.0 2.2 and 2.4) they are
not it
is not really worth any effort trying to make something work which doesn't
and
you may as well build things statically.
2p Adam
I go along with Adam on this. I started off generating modules all over the place with my first kernel builds (2.4.18) and got into all sorts of trouble (mainly because I didn't understand what I was doing at the time, so not really an valid argument). So I switched to a fully static build just to get things working.
Now I understand what's going on a bit more, I've found building a modularized kernel and building a static kernel makes very little real difference to the sort of system I have (single user home system) either in performance or kernel size. It takes me less than 1/2 hour to build another kernel and get it installed and working. Over the past couple of months the kernel has grown by a _whole_ 200k as the functionality has been increased. Performance is exemplary (as always).
At a theoretical level I think Ian is correct and I think that the logic and rationale behind the module concept is very powerful but in practice the actual advantages are negligible. I suspect it's horses for courses and a scenario can be constructed where having a modular kernel would be really advantageous (I'll leave that as a exercise for the reader! :o) ).
2d
Keith ____________ In theory there should be no difference between theory and practice. In practice there's always a difference between practice and theory.