aboutsummaryrefslogtreecommitdiff
path: root/sys/vm/uma.h
diff options
context:
space:
mode:
authorJeff Roberson <jeff@FreeBSD.org>2017-11-28 23:40:54 +0000
committerJeff Roberson <jeff@FreeBSD.org>2017-11-28 23:40:54 +0000
commit2e47807c21e3b3155f53059c21bc3196a45ed160 (patch)
treef6efdfc775eeac6ff046a40f8a49b38deecaf3a7 /sys/vm/uma.h
parentef435ae7de5e4f25bfc9d1cdd92c421ad7b9793f (diff)
downloadsrc-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.h3
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