svn commit: r246408 - user/attilio/vmc-playground/sys/vm
Attilio Rao
attilio at FreeBSD.org
Wed Feb 6 14:50:35 UTC 2013
Author: attilio
Date: Wed Feb 6 14:50:34 2013
New Revision: 246408
URL: http://svnweb.freebsd.org/changeset/base/246408
Log:
Now that vm_page_cache_free() and vm_page_cache_transfer() are
reimplemented as ranged operations, sync vm_page_is_cached() semantic
with HEAD.
Modified:
user/attilio/vmc-playground/sys/vm/vm_page.c
user/attilio/vmc-playground/sys/vm/vm_page.h
Modified: user/attilio/vmc-playground/sys/vm/vm_page.c
==============================================================================
--- user/attilio/vmc-playground/sys/vm/vm_page.c Wed Feb 6 14:29:05 2013 (r246407)
+++ user/attilio/vmc-playground/sys/vm/vm_page.c Wed Feb 6 14:50:34 2013 (r246408)
@@ -1117,12 +1117,12 @@ vm_page_cache_transfer(vm_object_t orig_
}
/*
- * Returns a pointer to the cached page associated with the given object
- * and offset, NULL otherwise.
+ * Returns TRUE if a cached page is associated with the given object and
+ * offset, and FALSE otherwise.
*
* The object must be locked.
*/
-vm_page_t
+boolean_t
vm_page_is_cached(vm_object_t object, vm_pindex_t pindex)
{
vm_page_t m;
@@ -1135,10 +1135,12 @@ vm_page_is_cached(vm_object_t object, vm
* exist.
*/
VM_OBJECT_LOCK_ASSERT(object, MA_OWNED);
+ if (vm_object_cache_is_empty(object))
+ return (FALSE);
mtx_lock(&vm_page_queue_free_mtx);
m = vm_page_cache_lookup(object, pindex);
mtx_unlock(&vm_page_queue_free_mtx);
- return (m);
+ return (m != NULL);
}
/*
Modified: user/attilio/vmc-playground/sys/vm/vm_page.h
==============================================================================
--- user/attilio/vmc-playground/sys/vm/vm_page.h Wed Feb 6 14:29:05 2013 (r246407)
+++ user/attilio/vmc-playground/sys/vm/vm_page.h Wed Feb 6 14:50:34 2013 (r246408)
@@ -388,7 +388,7 @@ vm_page_t vm_page_find_least(vm_object_t
vm_page_t vm_page_getfake(vm_paddr_t paddr, vm_memattr_t memattr);
void vm_page_initfake(vm_page_t m, vm_paddr_t paddr, vm_memattr_t memattr);
void vm_page_insert (vm_page_t, vm_object_t, vm_pindex_t);
-vm_page_t vm_page_is_cached(vm_object_t object, vm_pindex_t pindex);
+boolean_t vm_page_is_cached(vm_object_t object, vm_pindex_t pindex);
vm_page_t vm_page_lookup (vm_object_t, vm_pindex_t);
vm_page_t vm_page_next(vm_page_t m);
int vm_page_pa_tryrelock(pmap_t, vm_paddr_t, vm_paddr_t *);
More information about the svn-src-user
mailing list