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

_______________________________________________
cvs-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/cvs-all
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to