diff options
author | andre <andre@FreeBSD.org> | 2013-02-01 10:26:31 +0000 |
---|---|---|
committer | andre <andre@FreeBSD.org> | 2013-02-01 10:26:31 +0000 |
commit | 3322e2fce2263a9217a22c1b73f35f6be6dde164 (patch) | |
tree | fe614222047a373639441349a9bdd9364f82ab50 | |
parent | 27daee9849f4f64e19eddacfe4602f542356078e (diff) | |
download | FreeBSD-src-3322e2fce2263a9217a22c1b73f35f6be6dde164.zip FreeBSD-src-3322e2fce2263a9217a22c1b73f35f6be6dde164.tar.gz |
Add VM_KMEM_SIZE_SCALE parameter set to 2 (50%) for all ARM platforms.
VM_KMEM_SIZE_SCALE specifies which fraction of the available physical
memory, after deduction of the kernel itself and other early statically
allocated memory, can be used for the kmem_map. The kmem_map provides
for all UMA/malloc allocations in KVM space.
Previously ARM was using a fixed kmem_map size of (12*1024*1024) = 12MB
without regard to effectively available memory. This is too small for
recent ARM SoC with more than 128MB of RAM.
For reference a description of others related kmem_map parameters:
VM_KMEM_SIZE default start size of kmem_map if SCALE is
not defined
VM_KMEM_SIZE_MIN hard floor on the kmem_map size
VM_KMEM_SIZE_MAX hard ceiling on the kmem_map size
VM_KMEM_SIZE_SCALE fraction of the available real memory to
be used for the kmem_map, limited by the
MIN and MAX parameters.
Tested by: ian
MFC after: 1 week
-rw-r--r-- | sys/arm/include/vmparam.h | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/sys/arm/include/vmparam.h b/sys/arm/include/vmparam.h index eac46cc..267ba6e 100644 --- a/sys/arm/include/vmparam.h +++ b/sys/arm/include/vmparam.h @@ -134,12 +134,15 @@ #endif #define VM_MAX_KERNEL_ADDRESS 0xffffffff + /* * Virtual size (bytes) for various kernel submaps. */ - #ifndef VM_KMEM_SIZE -#define VM_KMEM_SIZE (12*1024*1024) +#define VM_KMEM_SIZE (12*1024*1024) +#endif +#ifndef VM_KMEM_SIZE_SCALE +#define VM_KMEM_SIZE_SCALE (2) #endif #define MAXTSIZ (16*1024*1024) |