From owner-freebsd-net@FreeBSD.ORG Wed Aug 3 16:44:51 2005 Return-Path: X-Original-To: freebsd-net@freebsd.org Delivered-To: freebsd-net@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 66D1016A41F; Wed, 3 Aug 2005 16:44:51 +0000 (GMT) (envelope-from rwatson@FreeBSD.org) Received: from cyrus.watson.org (cyrus.watson.org [204.156.12.53]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1154143D46; Wed, 3 Aug 2005 16:44:51 +0000 (GMT) (envelope-from rwatson@FreeBSD.org) Received: from fledge.watson.org (fledge.watson.org [204.156.12.50]) by cyrus.watson.org (Postfix) with ESMTP id 7895E46B88; Wed, 3 Aug 2005 12:44:50 -0400 (EDT) Date: Wed, 3 Aug 2005 17:47:13 +0100 (BST) From: Robert Watson X-X-Sender: robert@fledge.watson.org To: Ed Maste In-Reply-To: <20050803011806.GA32338@sandvine.com> Message-ID: <20050803173735.P23885@fledge.watson.org> References: <42CEF0EB.4000107@borderware.com> <42D006DB.8080108@errno.com> <20050712150224.GA38249@sandvine.com> <20050712162332.Q79478@fledge.watson.org> <20050712220452.GB38249@sandvine.com> <20050723012046.K40216@fledge.watson.org> <20050723013902.L40216@fledge.watson.org> <20050801190211.Q61500@fledge.watson.org> <20050803011806.GA32338@sandvine.com> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: freebsd-net@freebsd.org, gnn@FreeBSD.org Subject: Re: what to replace splnet in FreeBSD 5.x? X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 03 Aug 2005 16:44:51 -0000 On Tue, 2 Aug 2005, Ed Maste wrote: >>> Spl-related cleanups (no longer useful documentation of old >>> synchronization in many places), lock order hard-coded into WITNESS >>> order rather than dynamically detected. >> >> Have you had a chance to run with this patch as yet? If possible, I'd >> like to get it merged to 7.x-CURRENT so we can backport it for 6.0. > > I finally got our local CVS repository back into shape and gave this > patch a try. Unfortunately got a panic as soon as our multicast app > started up: > > panic: _mtx_lock_sleep: recursed on non-recursive mutex in_multi_mtx @ > /d2/emaste/cvs_mcast/src/sys/netinet/ip_output.c:298 For now, we can flag in_multi_mtx as MTX_RECURSE in the mtx_init() call in in_var.h, but a better answer is probably desirable. Robert N M Watson > > cpuid = 0 > KDB: stack backtrace: > kdb_backtrace(100,a2894300,a07eba00,a07eba00,12a) at 0xa0586915 = kdb_backtrace+0x29 > panic(a071a883,a071f26e,a0729680,12a,a07eba00) at 0xa056eeb8 = panic+0x114 > _mtx_lock_sleep(a07eba00,a2894300,0,a0729680,12a) at 0xa05669cb = _mtx_lock_sleep+0x33 > _mtx_lock_flags(a07eba00,0,a0729680,12a,0) at 0xa05664ba = _mtx_lock_flags+0x8a > ip_output(a2645e00,a2649100,a07eb9b0,0,c8635b08) at 0xa05f7b0e = ip_output+0x3fe > igmp_sendpkt(a24b9de0,16,0,a24b9de0,c8635bb8) at 0xa05e292e = igmp_sendpkt+0x106 > igmp_joingroup(a24b9de0,a2504240,210,240600ef,0) at 0xa05e2642 = igmp_joingroup+0x92 > in_addmulti(c8635bcc,a23a1400,a23a1400,240600ef,1000001) at 0xa05e437e = in_addmulti+0x10e > ip_setmoptions(a272c7f8,c8635c90,a071a701,12c,0) at 0xa05f9278 = ip_setmoptions+0x3a0 > ip_ctloutput(a27c2650,c8635c90,a283a22c,0,a0722810) at 0xa05f8a57 = ip_ctloutput+0x36b > sosetopt(a27c2650,c8635c90,a26af798,1,0) at 0xa05a91ac = sosetopt+0x2c > kern_setsockopt(a2894300,b,0,c,9fbfcd60) at 0xa05ada71 = kern_setsockopt+0xb5 > setsockopt(a2894300,c8635d04,5,3,246) at 0xa05ad9ba = setsockopt+0x1e > syscall(81e003b,81e003b,9fbf003b,9fbfcd70,841fc28) at 0xa06c72fb = syscall+0x25b > > in_addmulti holds the in_multi_mtx when it calls _joingroup. > > I haven't yet looked over the whole patch to understand the > specifics. I'll post again once I do if I have any ideas. > > -- > Ed Maste, Sandvine Incorporated. > _______________________________________________ > freebsd-net@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-net > To unsubscribe, send any mail to "freebsd-net-unsubscribe@freebsd.org" >