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