diff options
author | Jeff Roberson <jeff@FreeBSD.org> | 2017-11-28 23:40:54 +0000 |
---|---|---|
committer | Jeff Roberson <jeff@FreeBSD.org> | 2017-11-28 23:40:54 +0000 |
commit | 2e47807c21e3b3155f53059c21bc3196a45ed160 (patch) | |
tree | f6efdfc775eeac6ff046a40f8a49b38deecaf3a7 /sys/vm/uma.h | |
parent | ef435ae7de5e4f25bfc9d1cdd92c421ad7b9793f (diff) | |
download | src-2e47807c21e3b3155f53059c21bc3196a45ed160.tar.gz src-2e47807c21e3b3155f53059c21bc3196a45ed160.zip |
Eliminate kmem_arena and kmem_object in preparation for further NUMA commits.
The arena argument to kmem_*() is now only used in an assert. A follow-up
commit will remove the argument altogether before we freeze the API for the
next release.
This replaces the hard limit on kmem size with a soft limit imposed by UMA. When
the soft limit is exceeded we periodically wakeup the UMA reclaim thread to
attempt to shrink KVA. On 32bit architectures this should behave much more
gracefully as we exhaust KVA. On 64bit the limits are likely never hit.
Reviewed by: markj, kib (some objections)
Discussed with: alc
Tested by: pho
Sponsored by: Netflix / Dell EMC Isilon
Differential Revision: https://reviews.freebsd.org/D13187
Notes
Notes:
svn path=/head/; revision=326347
Diffstat (limited to 'sys/vm/uma.h')
-rw-r--r-- | sys/vm/uma.h | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/sys/vm/uma.h b/sys/vm/uma.h index 09bb1341ec4a..1ea8ee06245b 100644 --- a/sys/vm/uma.h +++ b/sys/vm/uma.h @@ -609,12 +609,11 @@ void uma_zone_set_freef(uma_zone_t zone, uma_free freef); * These flags are setable in the allocf and visible in the freef. */ #define UMA_SLAB_BOOT 0x01 /* Slab alloced from boot pages */ -#define UMA_SLAB_KMEM 0x02 /* Slab alloced from kmem_map */ #define UMA_SLAB_KERNEL 0x04 /* Slab alloced from kernel_map */ #define UMA_SLAB_PRIV 0x08 /* Slab alloced from priv allocator */ #define UMA_SLAB_OFFP 0x10 /* Slab is managed separately */ #define UMA_SLAB_MALLOC 0x20 /* Slab is a large malloc slab */ -/* 0x40 and 0x80 are available */ +/* 0x02, 0x40 and 0x80 are available */ /* * Used to pre-fill a zone with some number of items |