summaryrefslogtreecommitdiffstats
path: root/sys/vm/vm_init.c
diff options
context:
space:
mode:
authorjeff <jeff@FreeBSD.org>2013-08-19 23:02:39 +0000
committerjeff <jeff@FreeBSD.org>2013-08-19 23:02:39 +0000
commited90d4ba3f00bfbe7c9b9e97e3ff953e3c682423 (patch)
tree5ffae2b333bfbdafbb97e1341ba9715fc2bba763 /sys/vm/vm_init.c
parent832f853d49b1a8ff8876a53e26a39992a5ca0d57 (diff)
downloadFreeBSD-src-ed90d4ba3f00bfbe7c9b9e97e3ff953e3c682423.zip
FreeBSD-src-ed90d4ba3f00bfbe7c9b9e97e3ff953e3c682423.tar.gz
- Use an arbitrary but reasonably large import size for kva on architectures
that don't support superpages. This keeps the number of spans and internal fragmentation lower. - When the user asks for alignment from vmem_xalloc adjust the imported size by 2*align to be certain we can satisfy the allocation. This comes at the expense of potential failures when the backend can't supply enough memory but could supply the requested size and alignment. Sponsored by: EMC / Isilon Storage Division
Diffstat (limited to 'sys/vm/vm_init.c')
-rw-r--r--sys/vm/vm_init.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/vm/vm_init.c b/sys/vm/vm_init.c
index 7ab1ee0..0a381d0 100644
--- a/sys/vm/vm_init.c
+++ b/sys/vm/vm_init.c
@@ -156,7 +156,8 @@ vm_mem_init(dummy)
#if VM_NRESERVLEVEL > 0
1 << (VM_LEVEL_0_ORDER + PAGE_SHIFT));
#else
- PAGE_SIZE);
+ /* On non-superpage architectures want large import sizes. */
+ PAGE_SIZE * 1024);
#endif
kmem_init_zero_region();
OpenPOWER on IntegriCloud