diff options
author | kib <kib@FreeBSD.org> | 2014-05-24 09:50:10 +0000 |
---|---|---|
committer | kib <kib@FreeBSD.org> | 2014-05-24 09:50:10 +0000 |
commit | 2751a2ff74e6238e9c0533e583e8ecb2002a10e4 (patch) | |
tree | 16bfff69495e99845f788551219179be06685a07 /sys/vm/vm_fault.c | |
parent | 2f29e2dc9a4ddc6c3c1e6b228615558ad70b76cc (diff) | |
download | FreeBSD-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.c | 22 |
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; |