Remove redundand loop. The inner goto restarts the whole page
handling in the situation identical to the loop condition. Sponsored by: The FreeBSD Foundation MFC after: 3 days
This commit is contained in:
parent
61c067adc3
commit
2602a2ea88
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=266491
@ -1351,18 +1351,16 @@ vm_fault_copy_entry(vm_map_t dst_map, vm_map_t src_map,
|
||||
/*
|
||||
* Allocate a page in the destination object.
|
||||
*/
|
||||
do {
|
||||
dst_m = vm_page_alloc(dst_object,
|
||||
(src_object == dst_object ? src_pindex :
|
||||
0) + dst_pindex, VM_ALLOC_NORMAL);
|
||||
if (dst_m == NULL) {
|
||||
VM_OBJECT_WUNLOCK(dst_object);
|
||||
VM_OBJECT_RUNLOCK(object);
|
||||
VM_WAIT;
|
||||
VM_OBJECT_WLOCK(dst_object);
|
||||
goto again;
|
||||
}
|
||||
} while (dst_m == NULL);
|
||||
dst_m = vm_page_alloc(dst_object, (src_object ==
|
||||
dst_object ? src_pindex : 0) + dst_pindex,
|
||||
VM_ALLOC_NORMAL);
|
||||
if (dst_m == NULL) {
|
||||
VM_OBJECT_WUNLOCK(dst_object);
|
||||
VM_OBJECT_RUNLOCK(object);
|
||||
VM_WAIT;
|
||||
VM_OBJECT_WLOCK(dst_object);
|
||||
goto again;
|
||||
}
|
||||
pmap_copy_page(src_m, dst_m);
|
||||
VM_OBJECT_RUNLOCK(object);
|
||||
dst_m->valid = VM_PAGE_BITS_ALL;
|
||||
|
Loading…
Reference in New Issue
Block a user