diff options
author | jeff <jeff@FreeBSD.org> | 2013-06-28 03:51:20 +0000 |
---|---|---|
committer | jeff <jeff@FreeBSD.org> | 2013-06-28 03:51:20 +0000 |
commit | e725dd5c1ef985f6374f7a36ebdaaf10964b0131 (patch) | |
tree | 1ec9ab556a4e03f63542c71cdcc9e56ac39f7ef0 /sys/vm/vm_kern.h | |
parent | 5aabb39c86af06392b2155209b47c6511f6f8167 (diff) | |
download | FreeBSD-src-e725dd5c1ef985f6374f7a36ebdaaf10964b0131.zip FreeBSD-src-e725dd5c1ef985f6374f7a36ebdaaf10964b0131.tar.gz |
- 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
Diffstat (limited to 'sys/vm/vm_kern.h')
-rw-r--r-- | sys/vm/vm_kern.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/vm/vm_kern.h b/sys/vm/vm_kern.h index 5730cef..1479e5f 100644 --- a/sys/vm/vm_kern.h +++ b/sys/vm/vm_kern.h @@ -64,11 +64,13 @@ #define _VM_VM_KERN_H_ 1 /* Kernel memory management definitions. */ -extern vm_map_t buffer_map; extern vm_map_t kernel_map; extern vm_map_t kmem_map; extern vm_map_t exec_map; extern vm_map_t pipe_map; +extern struct vmem *buffer_arena; +extern struct vmem *transient_arena; +extern vm_offset_t swapbkva; extern u_long vm_kmem_size; #endif /* _VM_VM_KERN_H_ */ |