diff options
-rw-r--r-- | sys/vm/vm_page.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/sys/vm/vm_page.c b/sys/vm/vm_page.c index 86f9096..75f4be9 100644 --- a/sys/vm/vm_page.c +++ b/sys/vm/vm_page.c @@ -929,9 +929,12 @@ vm_page_lookup(vm_object_t object, vm_pindex_t pindex) vm_page_t vm_page_find_least(vm_object_t object, vm_pindex_t pindex) { + vm_page_t m; VM_OBJECT_LOCK_ASSERT(object, MA_OWNED); - return (vm_radix_lookup_ge(&object->rtree, pindex)); + if ((m = TAILQ_FIRST(&object->memq)) != NULL && m->pindex < pindex) + m = vm_radix_lookup_ge(&object->rtree, pindex); + return (m); } /* |