Date: Tue, 26 Feb 2013 00:34:52 +0000 (UTC) From: Attilio Rao <attilio@FreeBSD.org> To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r247292 - user/attilio/vmc-playground/sys/vm Message-ID: <201302260034.r1Q0Yqlq085939@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: attilio Date: Tue Feb 26 00:34:52 2013 New Revision: 247292 URL: http://svnweb.freebsd.org/changeset/base/247292 Log: Revert wrongly added asserts: lookup and remove from the collection of cached pages doesn't require the object lock to be held. Sponsored by: EMC / Isilon storage division Modified: user/attilio/vmc-playground/sys/vm/vm_page.c Modified: user/attilio/vmc-playground/sys/vm/vm_page.c ============================================================================== --- user/attilio/vmc-playground/sys/vm/vm_page.c Tue Feb 26 00:27:27 2013 (r247291) +++ user/attilio/vmc-playground/sys/vm/vm_page.c Tue Feb 26 00:34:52 2013 (r247292) @@ -1006,8 +1006,6 @@ vm_page_rename(vm_page_t m, vm_object_t * infinity. If the given object is backed by a vnode and it * transitions from having one or more cached pages to none, the * vnode's hold count is reduced. - * - * The object must be locked. */ void vm_page_cache_free(vm_object_t object, vm_pindex_t start, vm_pindex_t end) @@ -1015,8 +1013,6 @@ vm_page_cache_free(vm_object_t object, v vm_page_t m; boolean_t empty; - VM_OBJECT_LOCK_ASSERT(object, MA_OWNED); - mtx_lock(&vm_page_queue_free_mtx); if (vm_object_cache_is_empty(object)) { mtx_unlock(&vm_page_queue_free_mtx); @@ -1045,13 +1041,12 @@ vm_page_cache_free(vm_object_t object, v * Returns the cached page that is associated with the given * object and offset. If, however, none exists, returns NULL. * - * The free page queue and object must be locked. + * The free page queue must be locked. */ static inline vm_page_t vm_page_cache_lookup(vm_object_t object, vm_pindex_t pindex) { - VM_OBJECT_LOCK_ASSERT(object, MA_OWNED); mtx_assert(&vm_page_queue_free_mtx, MA_OWNED); return (vm_radix_lookup(&object->cache, pindex)); } @@ -1083,7 +1078,7 @@ vm_page_cache_remove(vm_page_t m) * empty. Offset 'offidxstart' in the original object must * correspond to offset zero in the new object. * - * The new object and original object must be locked. + * The new object must be locked. */ void vm_page_cache_transfer(vm_object_t orig_object, vm_pindex_t offidxstart, @@ -1097,7 +1092,6 @@ vm_page_cache_transfer(vm_object_t orig_ * not. */ VM_OBJECT_LOCK_ASSERT(new_object, MA_OWNED); - VM_OBJECT_LOCK_ASSERT(orig_object, MA_OWNED); KASSERT(vm_object_cache_is_empty(new_object), ("vm_page_cache_transfer: object %p has cached pages", new_object));
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201302260034.r1Q0Yqlq085939>