Page MenuHomeFreeBSD

D35485.id106925.diff
No OneTemporary

D35485.id106925.diff

Index: sys/vm/vm_fault.c
===================================================================
--- sys/vm/vm_fault.c
+++ sys/vm/vm_fault.c
@@ -2132,7 +2132,6 @@
break;
}
}
- VM_OBJECT_WUNLOCK(dst_object);
/*
* Enter it in the pmap. If a wired, copy-on-write
@@ -2147,15 +2146,15 @@
* backing pages.
*/
if (vm_page_all_valid(dst_m)) {
+ VM_OBJECT_WUNLOCK(dst_object);
pmap_enter(dst_map->pmap, vaddr, dst_m, prot,
access | (upgrade ? PMAP_ENTER_WIRED : 0), 0);
+ VM_OBJECT_WLOCK(dst_object);
}
/*
* Mark it no longer busy, and put it on the active list.
*/
- VM_OBJECT_WLOCK(dst_object);
-
if (upgrade) {
if (src_m != dst_m) {
vm_page_unwire(src_m, PQ_INACTIVE);

File Metadata

Mime Type
text/plain
Expires
Tue, Oct 6, 6:50 PM (4 h, 3 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
40310499
Default Alt Text
D35485.id106925.diff (740 B)

Event Timeline