summaryrefslogtreecommitdiffstats
path: root/sys/vm/uma_int.h
diff options
context:
space:
mode:
authorjeff <jeff@FreeBSD.org>2002-06-17 22:02:41 +0000
committerjeff <jeff@FreeBSD.org>2002-06-17 22:02:41 +0000
commit030d3fdb720958d03b806333c701404e96a45088 (patch)
treefe7766503110bc305fe17c75033e53e8bff19901 /sys/vm/uma_int.h
parentba0c1d407b5f3469a8026b32d1ea0c5605c9018a (diff)
downloadFreeBSD-src-030d3fdb720958d03b806333c701404e96a45088.zip
FreeBSD-src-030d3fdb720958d03b806333c701404e96a45088.tar.gz
- Introduce the new M_NOVM option which tells uma to only check the currently
allocated slabs and bucket caches for free items. It will not go ask the vm for pages. This differs from M_NOWAIT in that it not only doesn't block, it doesn't even ask. - Add a new zcreate option ZONE_VM, that sets the BUCKETCACHE zflag. This tells uma that it should only allocate buckets out of the bucket cache, and not from the VM. It does this by using the M_NOVM option to zalloc when getting a new bucket. This is so that the VM doesn't recursively enter itself while trying to allocate buckets for vm_map_entry zones. If there are already allocated buckets when we get here we'll still use them but otherwise we'll skip it. - Use the ZONE_VM flag on vm map entries and pv entries on x86.
Diffstat (limited to 'sys/vm/uma_int.h')
-rw-r--r--sys/vm/uma_int.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/vm/uma_int.h b/sys/vm/uma_int.h
index d7c86bb..e09d549 100644
--- a/sys/vm/uma_int.h
+++ b/sys/vm/uma_int.h
@@ -273,6 +273,7 @@ struct uma_zone {
#define UMA_ZFLAG_MALLOC 0x0008 /* Zone created by malloc */
#define UMA_ZFLAG_NOFREE 0x0010 /* Don't free data from this zone */
#define UMA_ZFLAG_FULL 0x0020 /* This zone reached uz_maxpages */
+#define UMA_ZFLAG_BUCKETCACHE 0x0040 /* Only allocate buckets from cache */
/* This lives in uflags */
#define UMA_ZONE_INTERNAL 0x1000 /* Internal zone for uflags */
OpenPOWER on IntegriCloud