Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 29 Dec 2007 14:02:33 -0600
From:      Alan Cox <alc@cs.rice.edu>
To:        Alan Cox <alc@FreeBSD.org>
Cc:        cvs-src@FreeBSD.org, src-committers@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   Re: cvs commit: src/sys/conf files src/sys/kern kern_exec.c src/sys/vm vm_fault.c vm_object.c vm_page.c vm_reserv.c vm_reserv.h
Message-ID:  <4776A7D9.7050002@cs.rice.edu>
In-Reply-To: <200712291953.lBTJr52D090543@repoman.freebsd.org>
References:  <200712291953.lBTJr52D090543@repoman.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Alan Cox wrote:

>alc         2007-12-29 19:53:04 UTC
>
>  FreeBSD src repository
>
>  Modified files:
>    sys/conf             files 
>    sys/kern             kern_exec.c 
>    sys/vm               vm_fault.c vm_object.c vm_page.c 
>  Added files:
>    sys/vm               vm_reserv.c vm_reserv.h 
>  Log:
>  Add the superpage reservation system.  This is "part 2 of 2" of the
>  machine-independent support for superpages.  (The earlier part was
>  the rewrite of the physical memory allocator.)  The remainder of the
>  code required for superpages support is machine-dependent and will
>  be added to the various pmap implementations at a later date.
>  
>  Initially, I am only supporting one large page size per architecture.
>  Moreover, I am only enabling the reservation system on amd64.  (In
>  an emergency, it can be disabled by setting VM_NRESERVLEVELS to 0
>  in amd64/include/vmparam.h or your kernel configuration file.)
>  
>  Revision  Changes    Path
>  1.1261    +1 -0      src/sys/conf/files
>  1.313     +8 -1      src/sys/kern/kern_exec.c
>  1.238     +14 -1     src/sys/vm/vm_fault.c
>  1.388     +45 -0     src/sys/vm/vm_object.c
>  1.365     +50 -5     src/sys/vm/vm_page.c
>  1.1       +668 -0    src/sys/vm/vm_reserv.c (new)
>  1.1       +59 -0     src/sys/vm/vm_reserv.h (new)
>  
>

It's worth commenting that the reservation system by itself (without 
actual superpage mappings in the page table and TLB) reduces the time 
spent by the kernel managing memory because it coarsens the granularity 
at which some operations are performed.  For example, I see about a 4-5% 
reduction in system time for "buildworld" on both a Phenom and a Core2 Duo.

Alan




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4776A7D9.7050002>