Correct a mistake and reword a couple sentences to clarify that "the value"

refers to the scale value, not the kmem_arena size that results from scaling.

Suggested by: alc@
This commit is contained in:
ian 2017-12-29 20:00:19 +00:00
parent b2452338a7
commit 8ab18e7cfb

View File

@ -116,19 +116,19 @@ The default value is 32, which is sufficient to map 128 MiB.
.It Cd options VM_KMEM_SIZE_SCALE=<num> .It Cd options VM_KMEM_SIZE_SCALE=<num>
This configures the amount of kernel virtual address (KVA) space to This configures the amount of kernel virtual address (KVA) space to
dedicate to the kmem_arena map. dedicate to the kmem_arena map.
The value is the ratio of physical to virtual pages. The scale value is the ratio of physical to virtual pages.
The default value of 3 allocates a page of KVA for each 3 pages The default value of 3 allocates a page of KVA for each 3 pages
of physical ram in the system. of physical ram in the system.
The kernel and modules, including the root image, also consume KVA. The kernel and modules, including the root image, also consume KVA.
The combination of a large root image and the default scaling The combination of a large root image and the default scaling
may preallocate so much KVA to kmem_arena that there is not enough may preallocate so much KVA that there is not enough
remaining address space to allocate kernel stacks, IO buffers, remaining address space to allocate kernel stacks, IO buffers,
and other resources that are not part of kmem_arena. and other resources that are not part of kmem_arena.
Overallocating kmem_arena space is likely to manifest as failure to Overallocating kmem_arena space is likely to manifest as failure to
launch userland processes with "cannot allocate kernel stack" messages. launch userland processes with "cannot allocate kernel stack" messages.
Setting the value too high may result in kernel failure to allocate Setting the scale value too high may result in kernel failure to allocate
memory because kmem_arena is too small, and the failure may require memory because kmem_arena is too small, and the failure may require
significant runtime to manifest. significant runtime to manifest.
Empirically, a value of 5 works well for a 200 MiB root image on Empirically, a value of 5 works well for a 200 MiB root image on