summaryrefslogtreecommitdiffstats
path: root/sys/mips
diff options
context:
space:
mode:
authorkib <kib@FreeBSD.org>2015-07-16 14:41:58 +0000
committerkib <kib@FreeBSD.org>2015-07-16 14:41:58 +0000
commit83cf60b07db68680af923ff4a2d8e21d8a7e059b (patch)
treea9994e2652a9004965044919dc052e1e341a9067 /sys/mips
parent1392531c0fe9b8815ac27613f4a9a26af79223d0 (diff)
downloadFreeBSD-src-83cf60b07db68680af923ff4a2d8e21d8a7e059b.zip
FreeBSD-src-83cf60b07db68680af923ff4a2d8e21d8a7e059b.tar.gz
MFC r276439 (by alc):
Make the creation of the free lists dynamic, i.e., it is based on the available physical memory at boot time. For amd64 systems with 64 GB or more of physical memory, create free lists for managing pages with physical addresses below 4 GB. PR: 185727 Requested by: alc Approved by: re (gjb)
Diffstat (limited to 'sys/mips')
-rw-r--r--sys/mips/include/vmparam.h20
1 files changed, 9 insertions, 11 deletions
diff --git a/sys/mips/include/vmparam.h b/sys/mips/include/vmparam.h
index 8922924..3f946fb 100644
--- a/sys/mips/include/vmparam.h
+++ b/sys/mips/include/vmparam.h
@@ -160,13 +160,11 @@
#define VM_FREEPOOL_DIRECT 1
/*
- * we support 2 free lists:
- *
- * - DEFAULT for direct mapped (KSEG0) pages.
- * Note: This usage of DEFAULT may be misleading because we use
- * DEFAULT for allocating direct mapped pages. The normal page
- * allocations use HIGHMEM if available, and then DEFAULT.
- * - HIGHMEM for other pages
+ * Create up to two free lists on !__mips_n64: VM_FREELIST_DEFAULT is for
+ * physical pages that are above the largest physical address that is
+ * accessible through the direct map (KSEG0) and VM_FREELIST_LOWMEM is for
+ * physical pages that are below that address. VM_LOWMEM_BOUNDARY is the
+ * physical address for the end of the direct map (KSEG0).
*/
#ifdef __mips_n64
#define VM_NFREELIST 1
@@ -174,10 +172,10 @@
#define VM_FREELIST_DIRECT VM_FREELIST_DEFAULT
#else
#define VM_NFREELIST 2
-#define VM_FREELIST_DEFAULT 1
-#define VM_FREELIST_HIGHMEM 0
-#define VM_FREELIST_DIRECT VM_FREELIST_DEFAULT
-#define VM_HIGHMEM_ADDRESS ((vm_paddr_t)0x20000000)
+#define VM_FREELIST_DEFAULT 0
+#define VM_FREELIST_LOWMEM 1
+#define VM_FREELIST_DIRECT VM_FREELIST_LOWMEM
+#define VM_LOWMEM_BOUNDARY ((vm_paddr_t)0x20000000)
#endif
/*
OpenPOWER on IntegriCloud