From owner-p4-projects@FreeBSD.ORG Fri May 21 14:27:59 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 184901065670; Fri, 21 May 2010 14:27:59 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D0095106564A; Fri, 21 May 2010 14:27:58 +0000 (UTC) (envelope-from Ivor.Prebeg@fer.hr) Received: from munja.zvne.fer.hr (munja.zvne.fer.hr [161.53.66.248]) by mx1.freebsd.org (Postfix) with ESMTP id 45E208FC17; Fri, 21 May 2010 14:27:57 +0000 (UTC) Received: from sluga.fer.hr ([161.53.66.244]) by munja.zvne.fer.hr with Microsoft SMTPSVC(6.0.3790.4675); Fri, 21 May 2010 16:27:55 +0200 x-mimeole: Produced By Microsoft Exchange V6.5 Content-class: urn:content-classes:message MIME-Version: 1.0 Date: Fri, 21 May 2010 16:27:51 +0200 Message-ID: X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: PERFORCE change 178588 for review Thread-Index: Acr47rcm69vjaP/URDW5BSmsOqZmxAAAf0Gt References: <201005211405.o4LE5jrZ035935@repoman.freebsd.org> From: "Ivor Prebeg" To: "Ivor Prebeg" , "Perforce Change Reviews" , X-OriginalArrivalTime: 21 May 2010 14:27:55.0652 (UTC) FILETIME=[CDC4E440:01CAF8F1] Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.5 Cc: Subject: RE: PERFORCE change 178588 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 May 2010 14:27:59 -0000 Ovak, stvar umre na lockanju vec unistenog mutexa. Nije mi jasno zasto, = jer se MROUTER_LOCK_DESTROY() zove tek na kraju CASE_MOD_UNLOAD, nigdje = prije :/=20 kad ubijem xorpove, ip_mrouter_done odradi sve kako treba za svaki vnet, = a prije nego ih ubijem, uopce ne mogu kldunloadat ip_mroute. Ivor -----Original Message----- From: Ivor Prebeg [mailto:iprebeg@freebsd.org] Sent: Fri 21-May-10 16:05 To: Perforce Change Reviews Subject: PERFORCE change 178588 for review =20 http://p4web.freebsd.org/@@178588?ac=3D10 Change 178588 by iprebeg@iprebeg_zeus on 2010/05/21 14:05:16 Removed ip_mrouter_reset Affected files ... .. //depot/projects/vimage/src/sys/netinet/ip_mroute.c#40 edit Differences ... =3D=3D=3D=3D //depot/projects/vimage/src/sys/netinet/ip_mroute.c#40 = (text+ko) =3D=3D=3D=3D @@ -605,23 +605,6 @@ } =20 static void -ip_mrouter_reset(void) -{ - - /* - V_pim_assert_enabled =3D 0; - V_mrt_api_config =3D 0; - - callout_init(&V_expire_upcalls_ch, CALLOUT_MPSAFE); - - V_bw_upcalls_n =3D 0; - bzero(V_bw_meter_timers, sizeof(V_bw_meter_timers)); - callout_init(&V_bw_upcalls_ch, CALLOUT_MPSAFE); - callout_init(&V_bw_meter_ch, CALLOUT_MPSAFE); - */ -} - -static void if_detached_event(void *arg __unused, struct ifnet *ifp) { vifi_t vifi; @@ -724,7 +707,9 @@ struct ifnet *ifp; struct ifreq ifr; =20 + printf ("V_mcast: before MROUTER LOCK\n"); MROUTER_LOCK(); + printf ("V_mcast: after MROUTER LOCK\n"); =20 if (V_ip_mrouter =3D=3D NULL) { MROUTER_UNLOCK(); @@ -739,7 +724,8 @@ V_mrt_api_config =3D 0; =20 VIF_LOCK(); - +=20 + printf ("V_mcast: after VIF LOCK, before numvifs loop\n"); /* * For each phyint in use, disable promiscuous reception of all IP * multicasts. @@ -759,12 +745,15 @@ bzero((caddr_t)V_viftable, sizeof(V_viftable)); V_numvifs =3D 0; V_pim_assert_enabled =3D 0; - + =20 + printf ("V_mcast: before VIF UNLOCK, after numvifs loop\n"); VIF_UNLOCK(); =20 + printf ("V_mcast: after VIF UNLOCK, before stopping callouts\n"); callout_stop(&V_expire_upcalls_ch); callout_stop(&V_bw_upcalls_ch); callout_stop(&V_bw_meter_ch); + printf ("V_mcast: after stopping callouts\n"); =20 MFC_LOCK(); =20 @@ -2831,18 +2820,15 @@ { =20 MALLOC(V_nexpire, u_char *, mfchashsize, M_MRTABLE, M_WAITOK|M_ZERO); - - /* from ip_mrouter_reset */ - V_pim_assert_enabled =3D 0; - V_mrt_api_config =3D 0; - - callout_init(&V_expire_upcalls_ch, CALLOUT_MPSAFE); - - V_bw_upcalls_n =3D 0; - bzero(V_bw_meter_timers, sizeof(V_bw_meter_timers)); - callout_init(&V_bw_upcalls_ch, CALLOUT_MPSAFE); - callout_init(&V_bw_meter_ch, CALLOUT_MPSAFE); - /* from ip_mrouter_reset */ + V_pim_assert_enabled =3D 0; + V_mrt_api_config =3D 0; +=09 + callout_init(&V_expire_upcalls_ch, CALLOUT_MPSAFE); +=09 + V_bw_upcalls_n =3D 0; + bzero(V_bw_meter_timers, sizeof(V_bw_meter_timers)); + callout_init(&V_bw_upcalls_ch, CALLOUT_MPSAFE); + callout_init(&V_bw_meter_ch, CALLOUT_MPSAFE); } =20 VNET_SYSINIT(vnet_mroute_init, SI_SUB_PSEUDO, SI_ORDER_MIDDLE, = vnet_mroute_init, @@ -2852,9 +2838,7 @@ vnet_mroute_uninit(const void *unused __unused) { =20 -#ifndef VIMAGE X_ip_mrouter_done(); -#endif FREE(V_nexpire, M_MRTABLE); V_nexpire =3D NULL; } @@ -2892,7 +2876,6 @@ pim_squelch_wholepkt =3D 0; TUNABLE_ULONG_FETCH("net.inet.pim.squelch_wholepkt", &pim_squelch_wholepkt); - ip_mrouter_reset(); =20 pim_encap_cookie =3D encap_attach_func(AF_INET, IPPROTO_PIM, pim_encapcheck, &in_pim_protosw, NULL);