svn commit: r282128 - head/sys/vm
Konstantin Belousov
kib at FreeBSD.org
Tue Apr 28 08:20:24 UTC 2015
Author: kib
Date: Tue Apr 28 08:20:23 2015
New Revision: 282128
URL: https://svnweb.freebsd.org/changeset/base/282128
Log:
Do not sleep waiting for the MAP_ENTRY_IN_TRANSITION state ending with
the vnode locked.
Review: https://reviews.freebsd.org/D2381
Submitted by: Conrad Meyer, Attilio Rao
MFC after: 1 week
Modified:
head/sys/vm/vm_fault.c
Modified: head/sys/vm/vm_fault.c
==============================================================================
--- head/sys/vm/vm_fault.c Tue Apr 28 08:04:16 2015 (r282127)
+++ head/sys/vm/vm_fault.c Tue Apr 28 08:20:23 2015 (r282128)
@@ -348,6 +348,10 @@ RetryFault:;
vm_map_lock(fs.map);
if (vm_map_lookup_entry(fs.map, vaddr, &fs.entry) &&
(fs.entry->eflags & MAP_ENTRY_IN_TRANSITION)) {
+ if (fs.vp != NULL) {
+ vput(fs.vp);
+ fs.vp = NULL;
+ }
fs.entry->eflags |= MAP_ENTRY_NEEDS_WAKEUP;
vm_map_unlock_and_wait(fs.map, 0);
} else
More information about the svn-src-all
mailing list