Subject: Re: UVM is HUGE!
To: David Jones <firstname.lastname@example.org>
From: Jason Thorpe <email@example.com>
Date: 02/08/1998 11:14:04
On Sun, 8 Feb 1998 11:51:59 -0500 (EST)
David Jones <firstname.lastname@example.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 email@example.com
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