svn commit: r247023 - in user/attilio/vmobj-rwlock/sys: amd64/amd64 i386/i386 i386/xen powerpc/aim powerpc/booke sparc64/sparc64 vm

Attilio Rao attilio at FreeBSD.org
Wed Feb 20 10:51:36 UTC 2013


Author: attilio
Date: Wed Feb 20 10:51:34 2013
New Revision: 247023
URL: http://svnweb.freebsd.org/changeset/base/247023

Log:
  There is no need to use VM_OBJECT_LOCKED() as the assertion won't
  make the check available in any case if INVARIANTS is switched off.
  Remove VM_OBJECT_LOCKED().

Modified:
  user/attilio/vmobj-rwlock/sys/amd64/amd64/pmap.c
  user/attilio/vmobj-rwlock/sys/i386/i386/pmap.c
  user/attilio/vmobj-rwlock/sys/i386/xen/pmap.c
  user/attilio/vmobj-rwlock/sys/powerpc/aim/mmu_oea.c
  user/attilio/vmobj-rwlock/sys/powerpc/aim/mmu_oea64.c
  user/attilio/vmobj-rwlock/sys/powerpc/booke/pmap.c
  user/attilio/vmobj-rwlock/sys/sparc64/sparc64/pmap.c
  user/attilio/vmobj-rwlock/sys/vm/vm_object.h

Modified: user/attilio/vmobj-rwlock/sys/amd64/amd64/pmap.c
==============================================================================
--- user/attilio/vmobj-rwlock/sys/amd64/amd64/pmap.c	Wed Feb 20 10:40:27 2013	(r247022)
+++ user/attilio/vmobj-rwlock/sys/amd64/amd64/pmap.c	Wed Feb 20 10:51:34 2013	(r247023)
@@ -3492,9 +3492,8 @@ pmap_enter(pmap_t pmap, vm_offset_t va, 
 	KASSERT((m->oflags & VPO_UNMANAGED) != 0 || va < kmi.clean_sva ||
 	    va >= kmi.clean_eva,
 	    ("pmap_enter: managed mapping within the clean submap"));
-	KASSERT((m->oflags & (VPO_UNMANAGED | VPO_BUSY)) != 0 ||
-	    VM_OBJECT_LOCKED(m->object),
-	    ("pmap_enter: page %p is not busy", m));
+	if ((m->oflags & (VPO_UNMANAGED | VPO_BUSY)) == 0)
+		VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED);
 	pa = VM_PAGE_TO_PHYS(m);
 	newpte = (pt_entry_t)(pa | PG_A | PG_V);
 	if ((access & VM_PROT_WRITE) != 0)

Modified: user/attilio/vmobj-rwlock/sys/i386/i386/pmap.c
==============================================================================
--- user/attilio/vmobj-rwlock/sys/i386/i386/pmap.c	Wed Feb 20 10:40:27 2013	(r247022)
+++ user/attilio/vmobj-rwlock/sys/i386/i386/pmap.c	Wed Feb 20 10:51:34 2013	(r247023)
@@ -3456,9 +3456,8 @@ pmap_enter(pmap_t pmap, vm_offset_t va, 
 	KASSERT(va < UPT_MIN_ADDRESS || va >= UPT_MAX_ADDRESS,
 	    ("pmap_enter: invalid to pmap_enter page table pages (va: 0x%x)",
 	    va));
-	KASSERT((m->oflags & (VPO_UNMANAGED | VPO_BUSY)) != 0 ||
-	    VM_OBJECT_LOCKED(m->object),
-	    ("pmap_enter: page %p is not busy", m));
+	if ((m->oflags & (VPO_UNMANAGED | VPO_BUSY)) == 0)
+		VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED);
 
 	mpte = NULL;
 

Modified: user/attilio/vmobj-rwlock/sys/i386/xen/pmap.c
==============================================================================
--- user/attilio/vmobj-rwlock/sys/i386/xen/pmap.c	Wed Feb 20 10:40:27 2013	(r247022)
+++ user/attilio/vmobj-rwlock/sys/i386/xen/pmap.c	Wed Feb 20 10:51:34 2013	(r247023)
@@ -2666,9 +2666,8 @@ pmap_enter(pmap_t pmap, vm_offset_t va, 
 	KASSERT(va < UPT_MIN_ADDRESS || va >= UPT_MAX_ADDRESS,
 	    ("pmap_enter: invalid to pmap_enter page table pages (va: 0x%x)",
 	    va));
-	KASSERT((m->oflags & (VPO_UNMANAGED | VPO_BUSY)) != 0 ||
-	    VM_OBJECT_LOCKED(m->object),
-	    ("pmap_enter: page %p is not busy", m));
+	if ((m->oflags & (VPO_UNMANAGED | VPO_BUSY)) == 0)
+		VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED);
 
 	mpte = NULL;
 

Modified: user/attilio/vmobj-rwlock/sys/powerpc/aim/mmu_oea.c
==============================================================================
--- user/attilio/vmobj-rwlock/sys/powerpc/aim/mmu_oea.c	Wed Feb 20 10:40:27 2013	(r247022)
+++ user/attilio/vmobj-rwlock/sys/powerpc/aim/mmu_oea.c	Wed Feb 20 10:51:34 2013	(r247023)
@@ -1122,9 +1122,8 @@ moea_enter_locked(pmap_t pmap, vm_offset
 	if (pmap_bootstrapped)
 		rw_assert(&pvh_global_lock, RA_WLOCKED);
 	PMAP_LOCK_ASSERT(pmap, MA_OWNED);
-	KASSERT((m->oflags & (VPO_UNMANAGED | VPO_BUSY)) != 0 ||
-	    VM_OBJECT_LOCKED(m->object),
-	    ("moea_enter_locked: page %p is not busy", m));
+	if ((m->oflags & (VPO_UNMANAGED | VPO_BUSY)) == 0)
+		VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED);
 
 	/* XXX change the pvo head for fake pages */
 	if ((m->oflags & VPO_UNMANAGED) != 0) {

Modified: user/attilio/vmobj-rwlock/sys/powerpc/aim/mmu_oea64.c
==============================================================================
--- user/attilio/vmobj-rwlock/sys/powerpc/aim/mmu_oea64.c	Wed Feb 20 10:40:27 2013	(r247022)
+++ user/attilio/vmobj-rwlock/sys/powerpc/aim/mmu_oea64.c	Wed Feb 20 10:51:34 2013	(r247023)
@@ -1184,9 +1184,8 @@ moea64_enter(mmu_t mmu, pmap_t pmap, vm_
 		pvo_flags = PVO_MANAGED;
 	}
 
-	KASSERT((m->oflags & (VPO_UNMANAGED | VPO_BUSY)) != 0 ||
-	    VM_OBJECT_LOCKED(m->object),
-	    ("moea64_enter: page %p is not busy", m));
+	if ((m->oflags & (VPO_UNMANAGED | VPO_BUSY)) == 0)
+		VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED);
 
 	/* XXX change the pvo head for fake pages */
 	if ((m->oflags & VPO_UNMANAGED) != 0) {

Modified: user/attilio/vmobj-rwlock/sys/powerpc/booke/pmap.c
==============================================================================
--- user/attilio/vmobj-rwlock/sys/powerpc/booke/pmap.c	Wed Feb 20 10:40:27 2013	(r247022)
+++ user/attilio/vmobj-rwlock/sys/powerpc/booke/pmap.c	Wed Feb 20 10:51:34 2013	(r247023)
@@ -1561,9 +1561,8 @@ mmu_booke_enter_locked(mmu_t mmu, pmap_t
 		KASSERT((va <= VM_MAXUSER_ADDRESS),
 		    ("mmu_booke_enter_locked: user pmap, non user va"));
 	}
-	KASSERT((m->oflags & (VPO_UNMANAGED | VPO_BUSY)) != 0 ||
-	    VM_OBJECT_LOCKED(m->object),
-	    ("mmu_booke_enter_locked: page %p is not busy", m));
+	if ((m->oflags & (VPO_UNMANAGED | VPO_BUSY)) == 0)
+		VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED);
 
 	PMAP_LOCK_ASSERT(pmap, MA_OWNED);
 

Modified: user/attilio/vmobj-rwlock/sys/sparc64/sparc64/pmap.c
==============================================================================
--- user/attilio/vmobj-rwlock/sys/sparc64/sparc64/pmap.c	Wed Feb 20 10:40:27 2013	(r247022)
+++ user/attilio/vmobj-rwlock/sys/sparc64/sparc64/pmap.c	Wed Feb 20 10:51:34 2013	(r247023)
@@ -1494,9 +1494,8 @@ pmap_enter_locked(pmap_t pm, vm_offset_t
 
 	rw_assert(&tte_list_global_lock, RA_WLOCKED);
 	PMAP_LOCK_ASSERT(pm, MA_OWNED);
-	KASSERT((m->oflags & (VPO_UNMANAGED | VPO_BUSY)) != 0 ||
-	    VM_OBJECT_LOCKED(m->object),
-	    ("pmap_enter_locked: page %p is not busy", m));
+	if ((m->oflags & (VPO_UNMANAGED | VPO_BUSY)) == 0)
+		VM_OBJECT_LOCK_ASSERT(m->object, RA_WLOCKED);
 	PMAP_STATS_INC(pmap_nenter);
 	pa = VM_PAGE_TO_PHYS(m);
 

Modified: user/attilio/vmobj-rwlock/sys/vm/vm_object.h
==============================================================================
--- user/attilio/vmobj-rwlock/sys/vm/vm_object.h	Wed Feb 20 10:40:27 2013	(r247022)
+++ user/attilio/vmobj-rwlock/sys/vm/vm_object.h	Wed Feb 20 10:51:34 2013	(r247023)
@@ -210,8 +210,6 @@ extern struct vm_object kmem_object_stor
 	rw_assert(&(object)->lock, (type))
 #define	VM_OBJECT_LOCK_INIT(object, name)				\
 	rw_init_flags(&(object)->lock, (name), RW_DUPOK)
-#define	VM_OBJECT_LOCKED(object)					\
-	rw_wowned(&(object)->lock)
 #define	VM_OBJECT_SLEEP(wchan, object, pri, wmesg, timo)		\
 	rw_sleep((wchan), &(object)->lock, (pri), (wmesg), (timo))
 #define	VM_OBJECT_TRYLOCK(object)					\


More information about the svn-src-user mailing list