mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2026-05-22 18:40:43 +03:00
Add kmem_cache flag for forcing kvmalloc
This adds a new KMC_KVMEM flag was added to enforce use of the kvmalloc allocator in kmem_cache_create even for large blocks, which may also increase performance in some specific cases (e.g. zstd), too. Default to KVMEM instead of VMEM in spl_kmem_cache_create. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: Matt Ahrens <matt@delphix.com> Signed-off-by: Sebastian Gottschall <s.gottschall@dd-wrt.com> Signed-off-by: Michael Niewöhner <foss@mniewoehner.de> Closes #9034
This commit is contained in:
committed by
Brian Behlendorf
parent
66955885e2
commit
6d948c3519
@@ -43,8 +43,9 @@ typedef enum kmc_bit {
|
||||
KMC_BIT_QCACHE = 4, /* XXX: Unsupported */
|
||||
KMC_BIT_KMEM = 5, /* Use kmem cache */
|
||||
KMC_BIT_VMEM = 6, /* Use vmem cache */
|
||||
KMC_BIT_SLAB = 7, /* Use Linux slab cache */
|
||||
KMC_BIT_OFFSLAB = 8, /* Objects not on slab */
|
||||
KMC_BIT_KVMEM = 7, /* Use kvmalloc linux allocator */
|
||||
KMC_BIT_SLAB = 8, /* Use Linux slab cache */
|
||||
KMC_BIT_OFFSLAB = 9, /* Objects not on slab */
|
||||
KMC_BIT_DEADLOCKED = 14, /* Deadlock detected */
|
||||
KMC_BIT_GROWING = 15, /* Growing in progress */
|
||||
KMC_BIT_REAPING = 16, /* Reaping in progress */
|
||||
@@ -70,6 +71,7 @@ typedef enum kmem_cbrc {
|
||||
#define KMC_QCACHE (1 << KMC_BIT_QCACHE)
|
||||
#define KMC_KMEM (1 << KMC_BIT_KMEM)
|
||||
#define KMC_VMEM (1 << KMC_BIT_VMEM)
|
||||
#define KMC_KVMEM (1 << KMC_BIT_KVMEM)
|
||||
#define KMC_SLAB (1 << KMC_BIT_SLAB)
|
||||
#define KMC_OFFSLAB (1 << KMC_BIT_OFFSLAB)
|
||||
#define KMC_DEADLOCKED (1 << KMC_BIT_DEADLOCKED)
|
||||
|
||||
Reference in New Issue
Block a user