svn commit: r266491 - head/sys/vm
Konstantin Belousov
kib at FreeBSD.org
Wed May 21 08:19:05 UTC 2014
Author: kib
Date: Wed May 21 08:19:04 2014
New Revision: 266491
URL: http://svnweb.freebsd.org/changeset/base/266491
Log:
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
Modified:
head/sys/vm/vm_fault.c
Modified: head/sys/vm/vm_fault.c
==============================================================================
--- head/sys/vm/vm_fault.c Wed May 21 08:09:44 2014 (r266490)
+++ head/sys/vm/vm_fault.c Wed May 21 08:19:04 2014 (r266491)
@@ -1351,18 +1351,16 @@ again:
/*
* 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;
More information about the svn-src-head
mailing list