diff options
author | Matthew Ahrens <[email protected]> | 2020-08-17 16:04:28 -0700 |
---|---|---|
committer | GitHub <[email protected]> | 2020-08-17 16:04:28 -0700 |
commit | 994de7e4b748465f175b7cc48995b5c44adf2200 (patch) | |
tree | 547497961283a5cc334fb57d8a2794c4b9aa226c /man/man5 | |
parent | 3df0c2fa32a37fbb95f32de20e737fdf65ec0f5b (diff) |
Remove KMC_KMEM and KMC_VMEM
`KMC_KMEM` and `KMC_VMEM` are now unused since all SPL-implemented
caches are `KMC_KVMEM`.
KMC_KMEM: Given the default value of `spl_kmem_cache_kmem_limit`, we
don't use kmalloc to back the SPL caches, instead we use kvmalloc
(KMC_KVMEM). The flag, module parameter, /proc entries, and associated
code are removed.
KMC_VMEM: This flag is not used, and kvmalloc() is always preferable to
vmalloc(). The flag, /proc entries, and associated code are removed.
Reviewed-by: Brian Behlendorf <[email protected]>
Reviewed-by: Ryan Moeller <[email protected]>
Signed-off-by: Matthew Ahrens <[email protected]>
Closes #10673
Diffstat (limited to 'man/man5')
-rw-r--r-- | man/man5/spl-module-parameters.5 | 31 |
1 files changed, 0 insertions, 31 deletions
diff --git a/man/man5/spl-module-parameters.5 b/man/man5/spl-module-parameters.5 index 30d9fc754..2dce5b296 100644 --- a/man/man5/spl-module-parameters.5 +++ b/man/man5/spl-module-parameters.5 @@ -134,37 +134,6 @@ Default value: \fB16,384\fR .sp .ne 2 .na -\fBspl_kmem_cache_kmem_limit\fR (uint) -.ad -.RS 12n -Depending on the size of a cache object it may be backed by kmalloc()'d -or vmalloc()'d memory. This is because the size of the required allocation -greatly impacts the best way to allocate the memory. -.sp -When objects are small and only a small number of memory pages need to be -allocated, ideally just one, then kmalloc() is very efficient. However, -when allocating multiple pages with kmalloc() it gets increasingly expensive -because the pages must be physically contiguous. -.sp -For this reason we shift to vmalloc() for slabs of large objects which -which removes the need for contiguous pages. We cannot use vmalloc() in -all cases because there is significant locking overhead involved. This -function takes a single global lock over the entire virtual address range -which serializes all allocations. Using slightly different allocation -functions for small and large objects allows us to handle a wide range of -object sizes. -.sp -The \fBspl_kmem_cache_kmem_limit\fR value is used to determine this cutoff -size. One quarter the PAGE_SIZE is used as the default value because -\fBspl_kmem_cache_obj_per_slab\fR defaults to 16. This means that at -most we will need to allocate four contiguous pages. -.sp -Default value: \fBPAGE_SIZE/4\fR -.RE - -.sp -.ne 2 -.na \fBspl_kmem_alloc_warn\fR (uint) .ad .RS 12n |