summaryrefslogtreecommitdiffstats
path: root/sys/sparc64
diff options
context:
space:
mode:
authorian <ian@FreeBSD.org>2014-05-16 01:30:30 +0000
committerian <ian@FreeBSD.org>2014-05-16 01:30:30 +0000
commit8e2dd9b5e30117e2cab1d46c1cc0c2dfb4b7647e (patch)
tree35fa7519fc913330e83ec8d0a5549451f541f2e2 /sys/sparc64
parente58449eb7bc00b546bc709cb6348a17b98b8e5e6 (diff)
downloadFreeBSD-src-8e2dd9b5e30117e2cab1d46c1cc0c2dfb4b7647e.zip
FreeBSD-src-8e2dd9b5e30117e2cab1d46c1cc0c2dfb4b7647e.tar.gz
MFC r257854 (discussed with alc@)
As of r257209, all architectures have defined VM_KMEM_SIZE_SCALE. In other words, every architecture is now auto-sizing the kmem arena. This revision changes kmeminit() so that the definition of VM_KMEM_SIZE_SCALE becomes mandatory and the definition of VM_KMEM_SIZE becomes optional. Replace or eliminate all existing definitions of VM_KMEM_SIZE. With auto-sizing enabled, VM_KMEM_SIZE effectively became an alternate spelling for VM_KMEM_SIZE_MIN on most architectures. Use VM_KMEM_SIZE_MIN for clarity.
Diffstat (limited to 'sys/sparc64')
-rw-r--r--sys/sparc64/include/vmparam.h18
1 files changed, 8 insertions, 10 deletions
diff --git a/sys/sparc64/include/vmparam.h b/sys/sparc64/include/vmparam.h
index 3cd744c..b1c90d2 100644
--- a/sys/sparc64/include/vmparam.h
+++ b/sys/sparc64/include/vmparam.h
@@ -198,24 +198,22 @@
#define USRSTACK (VM_MAX_USER_ADDRESS)
/*
- * Virtual size (bytes) for various kernel submaps.
+ * How many physical pages per kmem arena virtual page.
*/
-#ifndef VM_KMEM_SIZE
-#define VM_KMEM_SIZE (16*1024*1024)
+#ifndef VM_KMEM_SIZE_SCALE
+#define VM_KMEM_SIZE_SCALE (tsb_kernel_ldd_phys == 0 ? 3 : 2)
#endif
/*
- * How many physical pages per KVA page allocated.
- * min(max(max(VM_KMEM_SIZE, Physical memory/VM_KMEM_SIZE_SCALE),
- * VM_KMEM_SIZE_MIN), VM_KMEM_SIZE_MAX)
- * is the total KVA space allocated for kmem_map.
+ * Optional floor (in bytes) on the size of the kmem arena.
*/
-#ifndef VM_KMEM_SIZE_SCALE
-#define VM_KMEM_SIZE_SCALE (tsb_kernel_ldd_phys == 0 ? 3 : 2)
+#ifndef VM_KMEM_SIZE_MIN
+#define VM_KMEM_SIZE_MIN (16 * 1024 * 1024)
#endif
/*
- * Ceiling on amount of kmem_map kva space.
+ * Optional ceiling (in bytes) on the size of the kmem arena: 60% of the
+ * kernel map.
*/
#ifndef VM_KMEM_SIZE_MAX
#define VM_KMEM_SIZE_MAX ((VM_MAX_KERNEL_ADDRESS - \
OpenPOWER on IntegriCloud