Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 6 Feb 2013 15:06:26 +0000 (UTC)
From:      Attilio Rao <attilio@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-user@freebsd.org
Subject:   svn commit: r246410 - user/attilio/vmc-playground/sys/fs/tmpfs
Message-ID:  <201302061506.r16F6Q2I054410@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: attilio
Date: Wed Feb  6 15:06:26 2013
New Revision: 246410
URL: http://svnweb.freebsd.org/changeset/base/246410

Log:
  Revert previously added locking to tmpfs_mapped{read, write}.
  This part needs to be overhauled anyway and this will be done in a
  separate branch.
  Just cope with changes to let the radix trie compile.

Modified:
  user/attilio/vmc-playground/sys/fs/tmpfs/tmpfs_vnops.c

Modified: user/attilio/vmc-playground/sys/fs/tmpfs/tmpfs_vnops.c
==============================================================================
--- user/attilio/vmc-playground/sys/fs/tmpfs/tmpfs_vnops.c	Wed Feb  6 14:54:26 2013	(r246409)
+++ user/attilio/vmc-playground/sys/fs/tmpfs/tmpfs_vnops.c	Wed Feb  6 15:06:26 2013	(r246410)
@@ -511,14 +511,11 @@ tmpfs_mappedread(vm_object_t vobj, vm_ob
 	offset = addr & PAGE_MASK;
 	tlen = MIN(PAGE_SIZE - offset, len);
 
-	if (vobj == NULL)
+	if ((vobj == NULL) ||
+	    (vobj->resident_page_count == 0 && vm_object_cache_is_empty(vobj)))
 		goto nocache;
 
 	VM_OBJECT_LOCK(vobj);
-	if (vobj->resident_page_count == 0 && vm_object_cache_is_empty(vobj)) {
-		VM_OBJECT_UNLOCK(vobj);
-		goto nocache;
-	}
 lookupvpg:
 	if (((m = vm_page_lookup(vobj, idx)) != NULL) &&
 	    vm_page_is_valid(m, offset, tlen)) {
@@ -642,17 +639,14 @@ tmpfs_mappedwrite(vm_object_t vobj, vm_o
 	offset = addr & PAGE_MASK;
 	tlen = MIN(PAGE_SIZE - offset, len);
 
-	if (vobj == NULL) {
+	if ((vobj == NULL) ||
+	    (vobj->resident_page_count == 0 &&
+	    vm_object_cache_is_empty(vobj))) {
 		vpg = NULL;
 		goto nocache;
 	}
 
 	VM_OBJECT_LOCK(vobj);
-	if (vobj->resident_page_count == 0 && vm_object_cache_is_empty(vobj)) {
-		VM_OBJECT_UNLOCK(vobj);
-		vpg = NULL;
-		goto nocache;
-	}
 lookupvpg:
 	if (((vpg = vm_page_lookup(vobj, idx)) != NULL) &&
 	    vm_page_is_valid(vpg, offset, tlen)) {



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201302061506.r16F6Q2I054410>