Page MenuHomeFreeBSD

D49521.id152706.diff
No OneTemporary

D49521.id152706.diff

Index: sys/vm/vm_fault.c
===================================================================
--- sys/vm/vm_fault.c
+++ sys/vm/vm_fault.c
@@ -2199,14 +2199,15 @@
/*
* Allocate a page in the destination object.
*/
- dst_m = vm_page_alloc_after(dst_object, (src_object ==
- dst_object ? src_pindex : 0) + dst_pindex,
+ pindex = (src_object == dst_object) ? src_pindex : 0) + dst_pindex;
+ dst_m = vm_page_alloc_after(dst_object, pindex,
VM_ALLOC_NORMAL, mpred);
if (dst_m == NULL) {
VM_OBJECT_WUNLOCK(dst_object);
VM_OBJECT_RUNLOCK(object);
vm_wait(dst_object);
VM_OBJECT_WLOCK(dst_object);
+ mpred = vm_page_mpred(src_object, pindex);
goto again;
}

File Metadata

Mime Type
text/plain
Expires
Thu, Feb 19, 11:19 AM (7 h, 21 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
28876577
Default Alt Text
D49521.id152706.diff (719 B)

Event Timeline