From owner-svn-src-user@FreeBSD.ORG Wed Feb 6 14:50:35 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id AF781F82; Wed, 6 Feb 2013 14:50:35 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 89E3FFAC; Wed, 6 Feb 2013 14:50:35 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r16EoZil049343; Wed, 6 Feb 2013 14:50:35 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r16EoZFR049339; Wed, 6 Feb 2013 14:50:35 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201302061450.r16EoZFR049339@svn.freebsd.org> From: Attilio Rao Date: Wed, 6 Feb 2013 14:50:35 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r246408 - user/attilio/vmc-playground/sys/vm X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 06 Feb 2013 14:50:35 -0000 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 *);