From owner-svn-src-user@FreeBSD.ORG Wed Dec 7 00:07:57 2011 Return-Path: <owner-svn-src-user@FreeBSD.ORG> Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A2CA31065672; Wed, 7 Dec 2011 00:07:57 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 7932E8FC12; Wed, 7 Dec 2011 00:07:57 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id pB707vQp013859; Wed, 7 Dec 2011 00:07:57 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id pB707v11013856; Wed, 7 Dec 2011 00:07:57 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201112070007.pB707v11013856@svn.freebsd.org> From: Attilio Rao <attilio@FreeBSD.org> Date: Wed, 7 Dec 2011 00:07:57 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r228315 - user/attilio/vmcontention/sys/fs/tmpfs X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" <svn-src-user.freebsd.org> List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-user>, <mailto:svn-src-user-request@freebsd.org?subject=unsubscribe> List-Archive: <http://lists.freebsd.org/pipermail/svn-src-user> List-Post: <mailto:svn-src-user@freebsd.org> List-Help: <mailto:svn-src-user-request@freebsd.org?subject=help> List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-user>, <mailto:svn-src-user-request@freebsd.org?subject=subscribe> X-List-Received-Date: Wed, 07 Dec 2011 00:07:57 -0000 Author: attilio Date: Wed Dec 7 00:07:57 2011 New Revision: 228315 URL: http://svn.freebsd.org/changeset/base/228315 Log: Fix tmpfs to build with vmcontention branch. Modified: user/attilio/vmcontention/sys/fs/tmpfs/tmpfs_fifoops.c user/attilio/vmcontention/sys/fs/tmpfs/tmpfs_vnops.c Modified: user/attilio/vmcontention/sys/fs/tmpfs/tmpfs_fifoops.c ============================================================================== --- user/attilio/vmcontention/sys/fs/tmpfs/tmpfs_fifoops.c Tue Dec 6 22:57:48 2011 (r228314) +++ user/attilio/vmcontention/sys/fs/tmpfs/tmpfs_fifoops.c Wed Dec 7 00:07:57 2011 (r228315) @@ -39,6 +39,7 @@ #include <sys/param.h> #include <sys/filedesc.h> #include <sys/proc.h> +#include <sys/systm.h> #include <sys/vnode.h> #include <vm/vm.h> Modified: user/attilio/vmcontention/sys/fs/tmpfs/tmpfs_vnops.c ============================================================================== --- user/attilio/vmcontention/sys/fs/tmpfs/tmpfs_vnops.c Tue Dec 6 22:57:48 2011 (r228314) +++ user/attilio/vmcontention/sys/fs/tmpfs/tmpfs_vnops.c Wed Dec 7 00:07:57 2011 (r228315) @@ -505,11 +505,14 @@ tmpfs_mappedread(vm_object_t vobj, vm_ob offset = addr & PAGE_MASK; tlen = MIN(PAGE_SIZE - offset, len); - if ((vobj == NULL) || - (vobj->resident_page_count == 0 && vobj->cache == NULL)) + if (vobj == NULL) goto nocache; VM_OBJECT_LOCK(vobj); + if (vobj->cached_page_count == 0) { + VM_OBJECT_UNLOCK(vobj); + goto nocache; + } lookupvpg: if (((m = vm_page_lookup(vobj, idx)) != NULL) && vm_page_is_valid(m, offset, tlen)) { @@ -633,13 +636,17 @@ tmpfs_mappedwrite(vm_object_t vobj, vm_o offset = addr & PAGE_MASK; tlen = MIN(PAGE_SIZE - offset, len); - if ((vobj == NULL) || - (vobj->resident_page_count == 0 && vobj->cache == NULL)) { + if (vobj == NULL) { vpg = NULL; goto nocache; } VM_OBJECT_LOCK(vobj); + if (vobj->cached_page_count == 0) { + VM_OBJECT_UNLOCK(vobj); + vpg = NULL; + goto nocache; + } lookupvpg: if (((vpg = vm_page_lookup(vobj, idx)) != NULL) && vm_page_is_valid(vpg, offset, tlen)) { @@ -657,8 +664,6 @@ lookupvpg: VM_OBJECT_UNLOCK(vobj); error = uiomove_fromphys(&vpg, offset, tlen, uio); } else { - if (__predict_false(vobj->cache != NULL)) - vm_page_cache_free(vobj, idx, idx + 1); VM_OBJECT_UNLOCK(vobj); vpg = NULL; }