diff options
author | kib <kib@FreeBSD.org> | 2015-07-16 14:41:58 +0000 |
---|---|---|
committer | kib <kib@FreeBSD.org> | 2015-07-16 14:41:58 +0000 |
commit | 83cf60b07db68680af923ff4a2d8e21d8a7e059b (patch) | |
tree | a9994e2652a9004965044919dc052e1e341a9067 /sys/mips | |
parent | 1392531c0fe9b8815ac27613f4a9a26af79223d0 (diff) | |
download | FreeBSD-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.h | 20 |
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 /* |