summaryrefslogtreecommitdiffstats
path: root/sys/vm/vm_fault.c
diff options
context:
space:
mode:
authorkib <kib@FreeBSD.org>2014-05-24 09:50:10 +0000
committerkib <kib@FreeBSD.org>2014-05-24 09:50:10 +0000
commit2751a2ff74e6238e9c0533e583e8ecb2002a10e4 (patch)
tree16bfff69495e99845f788551219179be06685a07 /sys/vm/vm_fault.c
parent2f29e2dc9a4ddc6c3c1e6b228615558ad70b76cc (diff)
downloadFreeBSD-src-2751a2ff74e6238e9c0533e583e8ecb2002a10e4.zip
FreeBSD-src-2751a2ff74e6238e9c0533e583e8ecb2002a10e4.tar.gz
MFC r266491:
Remove redundand loop.
Diffstat (limited to 'sys/vm/vm_fault.c')
-rw-r--r--sys/vm/vm_fault.c22
1 files changed, 10 insertions, 12 deletions
diff --git a/sys/vm/vm_fault.c b/sys/vm/vm_fault.c
index b26cab3..7ac8a86 100644
--- a/sys/vm/vm_fault.c
+++ b/sys/vm/vm_fault.c
@@ -1340,18 +1340,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;
OpenPOWER on IntegriCloud