aboutsummaryrefslogtreecommitdiff
path: root/sys/vm/uma.h
diff options
context:
space:
mode:
authorJeff Roberson <jeff@FreeBSD.org>2017-11-08 02:39:37 +0000
committerJeff Roberson <jeff@FreeBSD.org>2017-11-08 02:39:37 +0000
commit8d6fbbb867b02c13a61b18a4a52354fd490927e3 (patch)
tree316821552ce7250dc92da153cc477a9070137432 /sys/vm/uma.h
parent1ca30d8e1cb49b688a485b2ac137463f6e17942d (diff)
downloadsrc-8d6fbbb867b02c13a61b18a4a52354fd490927e3.tar.gz
src-8d6fbbb867b02c13a61b18a4a52354fd490927e3.zip
Replace manyinstances of VM_WAIT with blocking page allocation flags
similar to the kernel memory allocator. This simplifies NUMA allocation because the domain will be known at wait time and races between failure and sleeping are eliminated. This also reduces boilerplate code and simplifies callers. A wait primitive is supplied for uma zones for similar reasons. This eliminates some non-specific VM_WAIT calls in favor of more explicit sleeps that may be satisfied without new pages. Reviewed by: alc, kib, markj Tested by: pho Sponsored by: Netflix, Dell/EMC Isilon
Notes
Notes: svn path=/head/; revision=325530
Diffstat (limited to 'sys/vm/uma.h')
-rw-r--r--sys/vm/uma.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/sys/vm/uma.h b/sys/vm/uma.h
index 71027b898cff..3e758050a1ff 100644
--- a/sys/vm/uma.h
+++ b/sys/vm/uma.h
@@ -366,6 +366,11 @@ uma_zfree(uma_zone_t zone, void *item)
}
/*
+ * Wait until the specified zone can allocate an item.
+ */
+void uma_zwait(uma_zone_t zone);
+
+/*
* XXX The rest of the prototypes in this header are h0h0 magic for the VM.
* If you think you need to use it for a normal zone you're probably incorrect.
*/