summaryrefslogtreecommitdiffstats
path: root/sys/vm/vm_object.c
diff options
context:
space:
mode:
authorkib <kib@FreeBSD.org>2016-10-20 13:12:19 +0000
committerkib <kib@FreeBSD.org>2016-10-20 13:12:19 +0000
commitd9cd623ce2b216efbe9a82496c50104a3af9a1fe (patch)
tree702295605705d5bda3b33bbef6c3de1730df9399 /sys/vm/vm_object.c
parentd915f5215166a446e07cb0a85c4f05f5cfae3d32 (diff)
downloadFreeBSD-src-d9cd623ce2b216efbe9a82496c50104a3af9a1fe.zip
FreeBSD-src-d9cd623ce2b216efbe9a82496c50104a3af9a1fe.tar.gz
MFC r307218:
Fix a race in vm_page_busy_sleep(9).
Diffstat (limited to 'sys/vm/vm_object.c')
-rw-r--r--sys/vm/vm_object.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/sys/vm/vm_object.c b/sys/vm/vm_object.c
index b2a7013..d4c7116 100644
--- a/sys/vm/vm_object.c
+++ b/sys/vm/vm_object.c
@@ -1182,7 +1182,7 @@ shadowlookup:
if (object != tobject)
VM_OBJECT_WUNLOCK(object);
VM_OBJECT_WUNLOCK(tobject);
- vm_page_busy_sleep(m, "madvpo");
+ vm_page_busy_sleep(m, "madvpo", false);
VM_OBJECT_WLOCK(object);
goto relookup;
}
@@ -1361,7 +1361,7 @@ retry:
VM_OBJECT_WUNLOCK(new_object);
vm_page_lock(m);
VM_OBJECT_WUNLOCK(orig_object);
- vm_page_busy_sleep(m, "spltwt");
+ vm_page_busy_sleep(m, "spltwt", false);
VM_OBJECT_WLOCK(orig_object);
VM_OBJECT_WLOCK(new_object);
goto retry;
@@ -1450,7 +1450,7 @@ vm_object_backing_scan_wait(vm_object_t object, vm_page_t p, vm_page_t next,
if (p == NULL)
VM_WAIT;
else
- vm_page_busy_sleep(p, "vmocol");
+ vm_page_busy_sleep(p, "vmocol", false);
VM_OBJECT_WLOCK(object);
VM_OBJECT_WLOCK(backing_object);
return (TAILQ_FIRST(&backing_object->memq));
@@ -1917,7 +1917,7 @@ again:
vm_page_lock(p);
if (vm_page_xbusied(p)) {
VM_OBJECT_WUNLOCK(object);
- vm_page_busy_sleep(p, "vmopax");
+ vm_page_busy_sleep(p, "vmopax", true);
VM_OBJECT_WLOCK(object);
goto again;
}
@@ -1932,7 +1932,7 @@ again:
}
if (vm_page_busied(p)) {
VM_OBJECT_WUNLOCK(object);
- vm_page_busy_sleep(p, "vmopar");
+ vm_page_busy_sleep(p, "vmopar", false);
VM_OBJECT_WLOCK(object);
goto again;
}
OpenPOWER on IntegriCloud