Subject: Re: UVM is HUGE!
To: Jason Thorpe <thorpej@nas.nasa.gov>
From: Michael L. VanLoon -- HeadCandy.com <michaelv@MindBender.serv.net>
List: current-users
Date: 02/08/1998 12:03:10
>UVM also uses inlines extensively (look at the uvm_*_i.h header files).

Note that this can actually be a performance loss if used too much.
Increasing code size has to be balanced with unrolled subroutine calls
and loops.  If you increase code size too much, you risk pushing stuff
out of the cache that might otherwise get reused through a subroutine
call.  You don't have to worry about this in the kernel, but an
additional concern in user-land is pushing stuff out of core (or
alternately, keeping stuff within a smaller subset of core-held
pages), because code size has increased, causing more pages to be used
to hold it.

FYI...

-----------------------------------------------------------------------------
  Michael L. VanLoon    mvanloon@exmsft.com    michaelv@MindBender.serv.net
      Contract software development for Windows NT, Windows 95 and Unix.
             Windows NT and Unix server development in C++ and C.

        --<  Free your mind and your machine -- NetBSD free un*x  >--
    NetBSD working ports: 386+PC, Mac 68k, Amiga, Atari 68k, HP300, Sun3,
        Sun4/4c/4m, DEC MIPS, DEC Alpha, PC532, VAX, MVME68k, arm32...
    NetBSD ports in progress: PICA, others...
-----------------------------------------------------------------------------