Subject: Re: UVM is HUGE!
To: David Jones <dej@inode.org>
From: Jason Thorpe <thorpej@nas.nasa.gov>
List: current-users
Date: 02/08/1998 11:14:04
On Sun, 8 Feb 1998 11:51:59 -0500 (EST) 
 David Jones <dej@inode.org> wrote:

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

There's a _very_ good reason for this :-)

Until today, UVM logged every action it performed by default.  This means that
there's a fair chunk of object code dedicated to these logging functions,
string constants, etc.

Matt Green committed a change that turns off the logging by default.  This
should shrink the object size and improve performance.

UVM also uses inlines extensively (look at the uvm_*_i.h header files).

UVM also does have additional functionality, e.g. the page loanout stuff.
That will account for some of it.

Jason R. Thorpe                                       thorpej@nas.nasa.gov
NASA Ames Research Center                            Home: +1 408 866 1912
NAS: M/S 258-5                                       Work: +1 650 604 0935
Moffett Field, CA 94035                             Pager: +1 415 428 6939