aboutsummaryrefslogtreecommitdiff
path: root/sys/vm/uma_core.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/vm/uma_core.c')
-rw-r--r--sys/vm/uma_core.c22
1 files changed, 11 insertions, 11 deletions
diff --git a/sys/vm/uma_core.c b/sys/vm/uma_core.c
index 12cab490781b..a510295b3c65 100644
--- a/sys/vm/uma_core.c
+++ b/sys/vm/uma_core.c
@@ -1979,24 +1979,23 @@ pcpu_page_alloc(uma_zone_t zone, vm_size_t bytes, int domain, uint8_t *pflag,
MPASS(bytes == (mp_maxid + 1) * PAGE_SIZE);
TAILQ_INIT(&alloctail);
- flags = VM_ALLOC_SYSTEM | VM_ALLOC_WIRED | VM_ALLOC_NOOBJ |
- malloc2vm_flags(wait);
+ flags = VM_ALLOC_SYSTEM | VM_ALLOC_WIRED | malloc2vm_flags(wait);
*pflag = UMA_SLAB_KERNEL;
for (cpu = 0; cpu <= mp_maxid; cpu++) {
if (CPU_ABSENT(cpu)) {
- p = vm_page_alloc(NULL, 0, flags);
+ p = vm_page_alloc_noobj(flags);
} else {
#ifndef NUMA
- p = vm_page_alloc(NULL, 0, flags);
+ p = vm_page_alloc_noobj(flags);
#else
pc = pcpu_find(cpu);
if (__predict_false(VM_DOMAIN_EMPTY(pc->pc_domain)))
p = NULL;
else
- p = vm_page_alloc_domain(NULL, 0,
- pc->pc_domain, flags);
+ p = vm_page_alloc_noobj_domain(pc->pc_domain,
+ flags);
if (__predict_false(p == NULL))
- p = vm_page_alloc(NULL, 0, flags);
+ p = vm_page_alloc_noobj(flags);
#endif
}
if (__predict_false(p == NULL))
@@ -2039,16 +2038,17 @@ noobj_alloc(uma_zone_t zone, vm_size_t bytes, int domain, uint8_t *flags,
vm_offset_t retkva, zkva;
vm_page_t p, p_next;
uma_keg_t keg;
+ int req;
TAILQ_INIT(&alloctail);
keg = zone->uz_keg;
+ req = VM_ALLOC_INTERRUPT | VM_ALLOC_WIRED;
+ if ((wait & M_WAITOK) != 0)
+ req |= VM_ALLOC_WAITOK;
npages = howmany(bytes, PAGE_SIZE);
while (npages > 0) {
- p = vm_page_alloc_domain(NULL, 0, domain, VM_ALLOC_INTERRUPT |
- VM_ALLOC_WIRED | VM_ALLOC_NOOBJ |
- ((wait & M_WAITOK) != 0 ? VM_ALLOC_WAITOK :
- VM_ALLOC_NOWAIT));
+ p = vm_page_alloc_noobj_domain(domain, req);
if (p != NULL) {
/*
* Since the page does not belong to an object, its