From 1f7c5f98d7488aece7f68f3107bf25d9da4a0216 Mon Sep 17 00:00:00 2001 From: Alan Cox Date: Sat, 9 Nov 2002 08:27:42 +0000 Subject: [PATCH] In vm_page_remove(), avoid calling vm_page_splay() if the object's memq is empty. --- sys/vm/vm_page.c | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/sys/vm/vm_page.c b/sys/vm/vm_page.c index 2559a9f246b..a8052f3a665 100644 --- a/sys/vm/vm_page.c +++ b/sys/vm/vm_page.c @@ -589,21 +589,24 @@ vm_page_insert(vm_page_t m, vm_object_t object, vm_pindex_t pindex) /* * Now link into the object's ordered list of backed pages. */ - root = vm_page_splay(pindex, object->root); + root = object->root; if (root == NULL) { m->left = NULL; m->right = NULL; TAILQ_INSERT_TAIL(&object->memq, m, listq); - } else if (pindex < root->pindex) { - m->left = root->left; - m->right = root; - root->left = NULL; - TAILQ_INSERT_BEFORE(root, m, listq); } else { - m->right = root->right; - m->left = root; - root->right = NULL; - TAILQ_INSERT_AFTER(&object->memq, root, m, listq); + root = vm_page_splay(pindex, root); + if (pindex < root->pindex) { + m->left = root->left; + m->right = root; + root->left = NULL; + TAILQ_INSERT_BEFORE(root, m, listq); + } else { + m->right = root->right; + m->left = root; + root->right = NULL; + TAILQ_INSERT_AFTER(&object->memq, root, m, listq); + } } object->root = m; object->generation++; -- 2.45.2