Perhaps I made a mistake measuring this - I don't know.
I did a comparison of the code size for NetBSD (4.4/Mach) VM, UVM, and Linux's
VM system. I measured object code size, as reported by nm -n. I
included the swap subsystem in addition to the VM system, but I did not
include any filesystems, vnode stuff, device drivers, or i386-specific code.
Linux VM: 33K.
Mach/4.4 VM: 45K. This VM system was derived from a microkernel implementation
that tried to be much more general, so I can understand the slight increase
in code size.
UVM: 144K.
Yowww!!! Any reason for this? Do we have large static tables in the code
segment (I ignored the data segment)? Can I expect three times the
functionality and performance?
:-)