diff options
Diffstat (limited to 'sys/vm/vm_page.c')
-rw-r--r-- | sys/vm/vm_page.c | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/sys/vm/vm_page.c b/sys/vm/vm_page.c index 52b8cbc..9a68a9e 100644 --- a/sys/vm/vm_page.c +++ b/sys/vm/vm_page.c @@ -1130,7 +1130,7 @@ vm_page_cache_free(vm_object_t object, vm_pindex_t start, vm_pindex_t end) boolean_t empty; mtx_lock(&vm_page_queue_free_mtx); - if (__predict_false(object->cache == NULL)) { + if (__predict_false(vm_object_cache_is_empty(object))) { mtx_unlock(&vm_page_queue_free_mtx); return; } @@ -1174,7 +1174,7 @@ vm_page_cache_free(vm_object_t object, vm_pindex_t start, vm_pindex_t end) cnt.v_cache_count--; cnt.v_free_count++; } - empty = object->cache == NULL; + empty = vm_object_cache_is_empty(object); mtx_unlock(&vm_page_queue_free_mtx); if (object->type == OBJT_VNODE && empty) vdrop(object->handle); @@ -1258,7 +1258,7 @@ vm_page_cache_transfer(vm_object_t orig_object, vm_pindex_t offidxstart, * not. */ VM_OBJECT_ASSERT_WLOCKED(new_object); - KASSERT(new_object->cache == NULL, + KASSERT(vm_object_cache_is_empty(new_object), ("vm_page_cache_transfer: object %p has cached pages", new_object)); mtx_lock(&vm_page_queue_free_mtx); @@ -1301,7 +1301,7 @@ vm_page_cache_transfer(vm_object_t orig_object, vm_pindex_t offidxstart, m_next->left = m; new_object->cache = m_next; } - KASSERT(new_object->cache == NULL || + KASSERT(vm_object_cache_is_empty(new_object) || new_object->type == OBJT_SWAP, ("vm_page_cache_transfer: object %p's type is incompatible" " with cached pages", new_object)); @@ -1328,7 +1328,7 @@ vm_page_is_cached(vm_object_t object, vm_pindex_t pindex) * exist. */ VM_OBJECT_ASSERT_WLOCKED(object); - if (__predict_true(object->cache == NULL)) + 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); @@ -1466,7 +1466,8 @@ vm_page_alloc(vm_object_t object, vm_pindex_t pindex, int req) m->valid = 0; m_object = m->object; vm_page_cache_remove(m); - if (m_object->type == OBJT_VNODE && m_object->cache == NULL) + if (m_object->type == OBJT_VNODE && + vm_object_cache_is_empty(m_object)) vp = m_object->handle; } else { KASSERT(VM_PAGE_IS_FREE(m), @@ -1723,7 +1724,8 @@ vm_page_alloc_init(vm_page_t m) m->valid = 0; m_object = m->object; vm_page_cache_remove(m); - if (m_object->type == OBJT_VNODE && m_object->cache == NULL) + if (m_object->type == OBJT_VNODE && + vm_object_cache_is_empty(m_object)) drop = m_object->handle; } else { KASSERT(VM_PAGE_IS_FREE(m), |