PERFORCE change 161652 for review

Marko Zec zec at FreeBSD.org
Wed May 6 12:00:49 UTC 2009


http://perforce.freebsd.org/chv.cgi?CH=161652

Change 161652 by zec at zec_tpx32 on 2009/05/06 11:59:48

	Remove unnecessary CURVNET_SET() calls when curvnet context
	has already been established, thus reducing recursion
	warning noise flooding the console.

Affected files ...

.. //depot/projects/vimage-commit/src/sys/netinet/igmp.c#21 edit
.. //depot/projects/vimage-commit/src/sys/netinet6/mld6.c#13 edit

Differences ...

==== //depot/projects/vimage-commit/src/sys/netinet/igmp.c#21 (text+ko) ====

@@ -528,9 +528,6 @@
 
 /*
  * Attach IGMP when PF_INET is attached to an interface.
- *
- * VIMAGE: Currently we set the vnet pointer, although it is
- * likely that it was already set by our caller.
  */
 struct igmp_ifinfo *
 igmp_domifattach(struct ifnet *ifp)
@@ -540,7 +537,6 @@
 	CTR3(KTR_IGMPV3, "%s: called for ifp %p(%s)",
 	    __func__, ifp, ifp->if_xname);
 
-	CURVNET_SET(ifp->if_vnet);
 	IGMP_LOCK();
 
 	igi = igi_alloc_locked(ifp);
@@ -548,7 +544,6 @@
 		igi->igi_flags |= IGIF_SILENT;
 
 	IGMP_UNLOCK();
-	CURVNET_RESTORE();
 
 	return (igi);
 }
@@ -600,9 +595,6 @@
  *
  * SMPNG: igmp_ifdetach() needs to take IF_ADDR_LOCK().
  * XXX This is also bitten by unlocked ifma_protospec access.
- *
- * VIMAGE: curvnet should have been set by caller, but let's not assume
- * that for now.
  */
 void
 igmp_ifdetach(struct ifnet *ifp)
@@ -614,8 +606,6 @@
 	CTR3(KTR_IGMPV3, "%s: called for ifp %p(%s)", __func__, ifp,
 	    ifp->if_xname);
 
-	CURVNET_SET(ifp->if_vnet);
-
 	IGMP_LOCK();
 
 	igi = ((struct in_ifinfo *)ifp->if_afdata[AF_INET])->ii_igmp;
@@ -648,15 +638,10 @@
 	}
 
 	IGMP_UNLOCK();
-
-	CURVNET_RESTORE();
 }
 
 /*
  * Hook for domifdetach.
- *
- * VIMAGE: curvnet should have been set by caller, but let's not assume
- * that for now.
  */
 void
 igmp_domifdetach(struct ifnet *ifp)
@@ -666,14 +651,12 @@
 	CTR3(KTR_IGMPV3, "%s: called for ifp %p(%s)",
 	    __func__, ifp, ifp->if_xname);
 
-	CURVNET_SET(ifp->if_vnet);
 	IGMP_LOCK();
 
 	igi = ((struct in_ifinfo *)ifp->if_afdata[AF_INET])->ii_igmp;
 	igi_delete_locked(ifp);
 
 	IGMP_UNLOCK();
-	CURVNET_RESTORE();
 }
 
 static void

==== //depot/projects/vimage-commit/src/sys/netinet6/mld6.c#13 (text+ko) ====

@@ -292,12 +292,10 @@
 mld_restore_context(struct mbuf *m)
 {
 
-#ifdef notyet
 #if defined(VIMAGE) && defined(INVARIANTS)
-	KASSERT(curvnet == (m->m_pkthdr.header),
+	KASSERT(curvnet == m->m_pkthdr.header,
 	    ("%s: called when curvnet was not restored", __func__));
 #endif
-#endif
 	return (m->m_pkthdr.flowid);
 }
 
@@ -455,8 +453,6 @@
  * Attach MLD when PF_INET6 is attached to an interface.
  *
  * SMPng: Normally called with IF_AFDATA_LOCK held.
- * VIMAGE: Currently we set the vnet pointer, although it is
- * likely that it was already set by our caller.
  */
 struct mld_ifinfo *
 mld_domifattach(struct ifnet *ifp)
@@ -466,7 +462,6 @@
 	CTR3(KTR_MLD, "%s: called for ifp %p(%s)",
 	    __func__, ifp, ifp->if_xname);
 
-	CURVNET_SET(ifp->if_vnet);
 	MLD_LOCK();
 
 	mli = mli_alloc_locked(ifp);
@@ -474,7 +469,6 @@
 		mli->mli_flags |= MLIF_SILENT;
 
 	MLD_UNLOCK();
-	CURVNET_RESTORE();
 
 	return (mli);
 }
@@ -528,9 +522,6 @@
  * SMPng: Caller must hold IN6_MULTI_LOCK().
  * Must take IF_ADDR_LOCK() to cover if_multiaddrs iterator.
  * XXX This routine is also bitten by unlocked ifma_protospec access.
- *
- * VIMAGE: curvnet should have been set by caller, but let's not assume
- * that for now.
  */
 void
 mld_ifdetach(struct ifnet *ifp)
@@ -542,8 +533,6 @@
 	CTR3(KTR_MLD, "%s: called for ifp %p(%s)", __func__, ifp,
 	    ifp->if_xname);
 
-	CURVNET_SET(ifp->if_vnet);
-
 	IN6_MULTI_LOCK_ASSERT();
 	MLD_LOCK();
 
@@ -570,7 +559,6 @@
 	}
 
 	MLD_UNLOCK();
-	CURVNET_RESTORE();
 }
 
 /*
@@ -578,8 +566,6 @@
  * Runs after link-layer cleanup; free MLD state.
  *
  * SMPng: Normally called with IF_AFDATA_LOCK held.
- * VIMAGE: curvnet should have been set by caller, but let's not assume
- * that for now.
  */
 void
 mld_domifdetach(struct ifnet *ifp)
@@ -588,13 +574,9 @@
 	CTR3(KTR_MLD, "%s: called for ifp %p(%s)",
 	    __func__, ifp, ifp->if_xname);
 
-	CURVNET_SET(ifp->if_vnet);
-
 	MLD_LOCK();
 	mli_delete_locked(ifp);
 	MLD_UNLOCK();
-
-	CURVNET_RESTORE();
 }
 
 static void


More information about the p4-projects mailing list