From 8c632c03ee796eebe55c2b8c6071847e4c02ab84 Mon Sep 17 00:00:00 2001 From: alc Date: Sun, 7 Jul 2002 06:01:25 +0000 Subject: o Traverse the object's memq rather than repeatedly calling vm_page_lookup() in vm_object_split(). --- sys/vm/vm_object.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) (limited to 'sys/vm') 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); -- cgit v1.1