summaryrefslogtreecommitdiffstats
path: root/sys/vm/vm_object.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/vm/vm_object.c')
-rw-r--r--sys/vm/vm_object.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/sys/vm/vm_object.c b/sys/vm/vm_object.c
index 1d7f321..9dea3a1 100644
--- a/sys/vm/vm_object.c
+++ b/sys/vm/vm_object.c
@@ -1910,6 +1910,12 @@ again:
* not specified.
*/
vm_page_lock(p);
+ if (vm_page_xbusied(p)) {
+ VM_OBJECT_WUNLOCK(object);
+ vm_page_busy_sleep(p, "vmopax");
+ VM_OBJECT_WLOCK(object);
+ goto again;
+ }
if ((wirings = p->wire_count) != 0 &&
(wirings = pmap_page_wired_mappings(p)) != p->wire_count) {
if ((options & (OBJPR_NOTWIRED | OBJPR_NOTMAPPED)) ==
OpenPOWER on IntegriCloud