Date: Wed, 6 May 2009 12:00:45 GMT From: Marko Zec <zec@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 161652 for review Message-ID: <200905061200.n46C0jng049497@repoman.freebsd.org>
index | next in thread | raw e-mail
http://perforce.freebsd.org/chv.cgi?CH=161652 Change 161652 by zec@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 voidhelp
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200905061200.n46C0jng049497>
