Kernel Modules

This page is meant to help picking between compile-in-kernel ("<*>") and compile-as-module ("") when configuring a kernel.

Advantages
A module ..
 * Is loadable without reboot (at least most of them).
 * Results in smaller kernel memory footprint (when the module is not loaded).
 * Can be loaded on demand by udev (for example DVB drivers for DVB stick).
 * Allows easy reloading of kernel drivers in case of module crash.
 * Allows specifying module-specific parameters in

Drawbacks
Using a module ..
 * May require an update of the initramfs for modules needed early in the boot process (i.e. filesystem drivers).
 * May result in performance losses due to the addition of an API layer and slightly more memory usage.

Also:
 * Beware of file system module X located on a partition formatted with X (unbootable system at worst).