diff options
author | markj <markj@FreeBSD.org> | 2018-01-10 20:39:26 +0000 |
---|---|---|
committer | Luiz Souza <luiz@netgate.com> | 2018-02-21 15:18:03 -0300 |
commit | 05ab1684179efc5baff3db229caf891d546043c3 (patch) | |
tree | 0c5bf5d25b5805b2ed18ab70cc199975712210c6 /sys/amd64/amd64/uma_machdep.c | |
parent | 5d7057db969c65be347887d98320f74442d9aeff (diff) | |
download | FreeBSD-src-05ab1684179efc5baff3db229caf891d546043c3.zip FreeBSD-src-05ab1684179efc5baff3db229caf891d546043c3.tar.gz |
MFC r325530 (jeff), r325566 (kib), r325588 (kib):
Replace many instances of VM_WAIT with blocking page allocation flags.
(cherry picked from commit 2069f0080fbdcf49b623bc3c1eda76524a4d1a77)
Diffstat (limited to 'sys/amd64/amd64/uma_machdep.c')
-rw-r--r-- | sys/amd64/amd64/uma_machdep.c | 16 |
1 files changed, 4 insertions, 12 deletions
diff --git a/sys/amd64/amd64/uma_machdep.c b/sys/amd64/amd64/uma_machdep.c index db566ae..220d095 100644 --- a/sys/amd64/amd64/uma_machdep.c +++ b/sys/amd64/amd64/uma_machdep.c @@ -46,20 +46,12 @@ uma_small_alloc(uma_zone_t zone, vm_size_t bytes, u_int8_t *flags, int wait) vm_page_t m; vm_paddr_t pa; void *va; - int pflags; *flags = UMA_SLAB_PRIV; - pflags = malloc2vm_flags(wait) | VM_ALLOC_NOOBJ | VM_ALLOC_WIRED; - for (;;) { - m = vm_page_alloc(NULL, 0, pflags); - if (m == NULL) { - if (wait & M_NOWAIT) - return (NULL); - else - VM_WAIT; - } else - break; - } + m = vm_page_alloc(NULL, 0, + malloc2vm_flags(wait) | VM_ALLOC_NOOBJ | VM_ALLOC_WIRED); + if (m == NULL) + return (NULL); pa = m->phys_addr; if ((wait & M_NODUMP) == 0) dump_add_page(pa); |