diff options
Diffstat (limited to 'sys/vm/vm_page.c')
| -rw-r--r-- | sys/vm/vm_page.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/vm/vm_page.c b/sys/vm/vm_page.c index d55530905f6a..a1f199c60970 100644 --- a/sys/vm/vm_page.c +++ b/sys/vm/vm_page.c @@ -843,7 +843,7 @@ loop: if (req & VM_ALLOC_ZERO) flags = PG_ZERO | PG_BUSY; } - if (req & VM_ALLOC_NOOBJ) + if (req & (VM_ALLOC_NOBUSY | VM_ALLOC_NOOBJ)) flags &= ~PG_BUSY; m->flags = flags; if (req & VM_ALLOC_WIRED) { @@ -1420,7 +1420,8 @@ retrylookup: } else { if (allocflags & VM_ALLOC_WIRED) vm_page_wire(m); - vm_page_busy(m); + if ((allocflags & VM_ALLOC_NOBUSY) == 0) + vm_page_busy(m); vm_page_unlock_queues(); return (m); } |
