Page MenuHomeFreeBSD

D49521.id152705.diff
No OneTemporary

D49521.id152705.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);
+ dst_m = vm_page_mpred(src_object, pindex);
goto again;
}

File Metadata

Mime Type
text/plain
Expires
Wed, Feb 18, 9:36 PM (6 h, 48 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
28856904
Default Alt Text
D49521.id152705.diff (719 B)

Event Timeline