svn commit: r329925 - user/jeff/numa/sys/vm
Jeff Roberson
jeff at FreeBSD.org
Sat Feb 24 20:12:02 UTC 2018
Author: jeff
Date: Sat Feb 24 20:12:01 2018
New Revision: 329925
URL: https://svnweb.freebsd.org/changeset/base/329925
Log:
Acquire the page lock when freeing a page we failed to allocate so that we
can properly consult reservations.
Reported by: pho
Modified:
user/jeff/numa/sys/vm/vm_page.c
Modified: user/jeff/numa/sys/vm/vm_page.c
==============================================================================
--- user/jeff/numa/sys/vm/vm_page.c Sat Feb 24 20:07:39 2018 (r329924)
+++ user/jeff/numa/sys/vm/vm_page.c Sat Feb 24 20:12:01 2018 (r329925)
@@ -1864,7 +1864,9 @@ found:
m->oflags = VPO_UNMANAGED;
m->busy_lock = VPB_UNBUSIED;
/* Don't change PG_ZERO. */
+ vm_page_lock(m);
vm_page_free_toq(m);
+ vm_page_unlock(m);
if (req & VM_ALLOC_WAITFAIL) {
VM_OBJECT_WUNLOCK(object);
vm_radix_wait();
@@ -2066,7 +2068,9 @@ found:
m->oflags = VPO_UNMANAGED;
m->busy_lock = VPB_UNBUSIED;
/* Don't change PG_ZERO. */
+ vm_page_lock(m);
vm_page_free_toq(m);
+ vm_page_unlock(m);
}
if (req & VM_ALLOC_WAITFAIL) {
VM_OBJECT_WUNLOCK(object);
More information about the svn-src-user
mailing list