summaryrefslogtreecommitdiffstats
path: root/sys/vm
diff options
context:
space:
mode:
authoralc <alc@FreeBSD.org>2002-07-07 06:01:25 +0000
committeralc <alc@FreeBSD.org>2002-07-07 06:01:25 +0000
commit8c632c03ee796eebe55c2b8c6071847e4c02ab84 (patch)
tree8aaaf63960db145e434245a5cf8f3b2520dfbc1a /sys/vm
parent8bf1a039cbc4ffad07555a6fbdf870dab6537d9a (diff)
downloadFreeBSD-src-8c632c03ee796eebe55c2b8c6071847e4c02ab84.zip
FreeBSD-src-8c632c03ee796eebe55c2b8c6071847e4c02ab84.tar.gz
o Traverse the object's memq rather than repeatedly calling vm_page_lookup()
in vm_object_split().
Diffstat (limited to 'sys/vm')
-rw-r--r--sys/vm/vm_object.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/sys/vm/vm_object.c b/sys/vm/vm_object.c
index 4403a24..1f6a2b5 100644
--- a/sys/vm/vm_object.c
+++ b/sys/vm/vm_object.c
@@ -1276,11 +1276,8 @@ vm_object_split(vm_map_entry_t entry)
swap_pager_copy(orig_object, new_object, offidxstart, 0);
vm_object_pip_wakeup(orig_object);
}
- for (idx = 0; idx < size; idx++) {
- m = vm_page_lookup(new_object, idx);
- if (m != NULL)
- vm_page_wakeup(m);
- }
+ TAILQ_FOREACH(m, &new_object->memq, listq)
+ vm_page_wakeup(m);
entry->object.vm_object = new_object;
entry->offset = 0LL;
vm_object_deallocate(orig_object);
OpenPOWER on IntegriCloud