Loadable modules The module subsystem was replaced in 2.6 The new version: Moves much code into the kernel Reduces load/unload races Has a better modversions implementation Better build environment checking too Breaks a lot of things Why in-kernel? Better control over the loading process Eliminate much cross-arch compatibility cruft An actual reduction in total kernel code