]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
- Add a general purpose resource allocator, vmem, from NetBSD. It was
authorjeff <jeff@FreeBSD.org>
Fri, 28 Jun 2013 03:51:20 +0000 (03:51 +0000)
committerjeff <jeff@FreeBSD.org>
Fri, 28 Jun 2013 03:51:20 +0000 (03:51 +0000)
commite725dd5c1ef985f6374f7a36ebdaaf10964b0131
tree1ec9ab556a4e03f63542c71cdcc9e56ac39f7ef0
parent5aabb39c86af06392b2155209b47c6511f6f8167
 - Add a general purpose resource allocator, vmem, from NetBSD.  It was
   originally inspired by the Solaris vmem detailed in the proceedings
   of usenix 2001.  The NetBSD version was heavily refactored for bugs
   and simplicity.
 - Use this resource allocator to allocate the buffer and transient maps.
   Buffer cache defrags are reduced by 25% when used by filesystems with
   mixed block sizes.  Ultimately this may permit dynamic buffer cache
   sizing on low KVA machines.

Discussed with: alc, kib, attilio
Tested by: pho
Sponsored by: EMC / Isilon Storage Division
13 files changed:
sys/conf/files
sys/geom/geom_io.c
sys/kern/subr_vmem.c [new file with mode: 0644]
sys/kern/vfs_bio.c
sys/sys/malloc.h
sys/sys/vmem.h [new file with mode: 0644]
sys/vm/vm.h
sys/vm/vm_init.c
sys/vm/vm_kern.c
sys/vm/vm_kern.h
sys/vm/vm_object.c
sys/vm/vm_pager.c
sys/vm/vm_pager.h