Index: sys/vm/vm_object.c =================================================================== --- sys/vm/vm_object.c (revision 247743) +++ sys/vm/vm_object.c (working copy) @@ -755,7 +755,7 @@ vm_object_terminate(vm_object_t object) if (__predict_false(!LIST_EMPTY(&object->rvq))) vm_reserv_break_all(object); #endif - if (!vm_object_cache_is_empty(object)) + if (__predict_false(!vm_object_cache_is_empty(object))) vm_page_cache_free(object, 0, 0); /* @@ -1380,7 +1380,7 @@ retry: * should still be OBJT_DEFAULT and orig_object should not * contain any cached pages within the specified range. */ - if (!vm_object_cache_is_empty(orig_object)) + if (__predict_false(!vm_object_cache_is_empty(orig_object))) vm_page_cache_transfer(orig_object, offidxstart, new_object); } @@ -1729,7 +1729,8 @@ vm_object_collapse(vm_object_t object) /* * Free any cached pages from backing_object. */ - if (!vm_object_cache_is_empty(backing_object)) + if (__predict_false( + !vm_object_cache_is_empty(backing_object))) vm_page_cache_free(backing_object, 0, 0); } /* @@ -1923,7 +1924,7 @@ again: } vm_object_pip_wakeup(object); skipmemq: - if (!vm_object_cache_is_empty(object)) + if (__predict_false(!vm_object_cache_is_empty(object))) vm_page_cache_free(object, start, end); } Index: sys/vm/vm_object.h =================================================================== --- sys/vm/vm_object.h (revision 247743) +++ sys/vm/vm_object.h (working copy) @@ -235,7 +235,7 @@ static __inline boolean_t vm_object_cache_is_empty(vm_object_t object) { - return (__predict_true(object->cache.rt_root == 0)); + return (object->cache.rt_root == 0); } vm_object_t vm_object_allocate (objtype_t, vm_pindex_t); Index: sys/vm/vm_page.c =================================================================== --- sys/vm/vm_page.c (revision 247743) +++ sys/vm/vm_page.c (working copy) @@ -1017,7 +1017,7 @@ vm_page_cache_free(vm_object_t object, vm_pindex_t boolean_t empty; mtx_lock(&vm_page_queue_free_mtx); - if (vm_object_cache_is_empty(object)) { + if (__predict_false(vm_object_cache_is_empty(object))) { mtx_unlock(&vm_page_queue_free_mtx); return; } @@ -1136,7 +1136,7 @@ vm_page_is_cached(vm_object_t object, vm_pindex_t * exist. */ VM_OBJECT_LOCK_ASSERT(object, MA_OWNED); - if (vm_object_cache_is_empty(object)) + if (__predict_true(vm_object_cache_is_empty(object))) return (FALSE); mtx_lock(&vm_page_queue_free_mtx); m = vm_page_cache_lookup(object, pindex);