From owner-freebsd-current@FreeBSD.ORG Thu Sep 1 17:45:41 2005 Return-Path: X-Original-To: freebsd-current@freebsd.org Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 3DA9316A41F; Thu, 1 Sep 2005 17:45:41 +0000 (GMT) (envelope-from jhb@FreeBSD.org) Received: from mv.twc.weather.com (mv.twc.weather.com [65.212.71.225]) by mx1.FreeBSD.org (Postfix) with ESMTP id AA29B43D48; Thu, 1 Sep 2005 17:45:40 +0000 (GMT) (envelope-from jhb@FreeBSD.org) Received: from [10.50.40.201] (Not Verified[10.50.40.201]) by mv.twc.weather.com with NetIQ MailMarshal (v6, 0, 3, 8) id ; Thu, 01 Sep 2005 14:01:00 -0400 From: John Baldwin To: freebsd-current@freebsd.org Date: Thu, 1 Sep 2005 13:32:21 -0400 User-Agent: KMail/1.8 References: <200509011722.j81HMMPp021231@gw.catspoiler.org> In-Reply-To: <200509011722.j81HMMPp021231@gw.catspoiler.org> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200509011332.24342.jhb@FreeBSD.org> Cc: Don Lewis , rwatson@freebsd.org, dandee@volny.cz, bzeeb-lists@lists.zabbadoz.net, fli+freebsd-current@shapeshifter.se, imp@bsdimp.com Subject: Re: LOR route vr0 X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 01 Sep 2005 17:45:41 -0000 On Thursday 01 September 2005 01:22 pm, Don Lewis wrote: > On 1 Sep, Fredrik Lindberg wrote: > > Don Lewis wrote: > >> On 27 Aug, M. Warner Losh wrote: > >>>In message: <20050828025721.X43518@fledge.watson.org> > >>> > >>> Robert Watson writes: > >>>: On Sat, 27 Aug 2005, M. Warner Losh wrote: > >>>: > : You need to add an entry to subr_witness.c creating a graph edge > >>>: > : between the softc lock and the routing lock. An example of an > >>>: > : entry in subr_witness.c: > >>>: > : > >>>: > : /* > >>>: > : * TCP/IP > >>>: > : */ > >>>: > : { "tcp", &lock_class_mtx_sleep }, > >>>: > : { "tcpinp", &lock_class_mtx_sleep }, > >>>: > : { "so_snd", &lock_class_mtx_sleep }, > >>>: > : { NULL, NULL }, > >>>: > : > >>>: > : Note that sets of ordered entries are terminated with a > >>>: > : double-null. This declares that locks of type "tcp" preceed > >>>: > : "tcpinp" which preceed "so_snd". > >>>: > > >>>: > So you have to have locks of type tcp BEFORE you take out tcpinp > >>>: > type locks? > >>>: > >>>: Correct. 'tcp' reflects the global TCP state tables (pcbinfo) locks, > >>>: and 'tcpinp' is for individual PCBs. If you acquire first a tcpinp > >>>: and then tcp, the above settings should cause WITNESS to generate a > >>>: lock order warning. Likewise, both tcp and tcpinp preceed so_snd, so > >>>: if you acquire a protocol lock after a socket lock, it will get > >>>: unhappy. WITNESS handles transitive relationships, so it gets > >>>: connected up to the rest of the lock graph, explicit and implicit, so > >>>: indirect violations of orders are fully handled. > >>> > >>>OK. I've been seeing similar LORs in ed, sn, iwi (ed is my locked > >>>version of ed, not in tree GIANT locked ed). > >> > >> Just as a datapoint, I've got fxp interfaces on all my machines running > >> -CURRENT and I'm not seeing the problem here. > > > > I'm seeing both the rentry and the tcpinp LORs on my fxp interface > > on a machine running a few days old -current (Aug 25). > > > > lock order reversal > > 1st 0xc1e30d38 inp (tcpinp) @ /usr/src/sys/netinet/tcp_input.c:742 > > 2nd 0xc1b74018 fxp0 (network driver) @/usr/src/sys/dev/fxp/if_fxp.c:1172 > > > > lock order reversal > > 1st 0xc1e06bb8 rtentry (rtentry) @ /usr/src/sys/net/route.c:1269 > > 2nd 0xc1b74018 fxp0 (network driver) @/usr/src/sys/dev/fxp/if_fxp.c:1172 > > > > As for their backtraces they are almost identical to the > > once already posted. > > Are you using any applications that use multicast? Can you break into > DDB and capture the output of "show witness"? Also, are you using DEVICE_POLLING? -- John Baldwin <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve" = http://www.FreeBSD.org