From owner-freebsd-current@FreeBSD.ORG Wed Aug 17 19:11:23 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 96B8016A420 for ; Wed, 17 Aug 2005 19:11:23 +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 C92B243D48 for ; Wed, 17 Aug 2005 19:11:22 +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 ; Wed, 17 Aug 2005 15:26:18 -0400 From: John Baldwin To: freebsd-current@freebsd.org Date: Wed, 17 Aug 2005 14:02:24 -0400 User-Agent: KMail/1.8 References: <200508101657.18678.jhb@FreeBSD.org> <200508171002.56163.jhb@FreeBSD.org> <20050817155044.GA911@unixpages.org> In-Reply-To: <20050817155044.GA911@unixpages.org> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-6" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200508171402.25154.jhb@FreeBSD.org> Cc: Subject: Re: Locking fixes for my(4) 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: Wed, 17 Aug 2005 19:11:23 -0000 On Wednesday 17 August 2005 11:50 am, Christian Brueffer wrote: > On Wed, Aug 17, 2005 at 10:02:55AM -0400, John Baldwin wrote: > > On Tuesday 16 August 2005 05:13 am, Christian Brueffer wrote: > > > On Wed, Aug 10, 2005 at 04:57:18PM -0400, John Baldwin wrote: > > > > I've fixed up the locking for the my(4) ethernet device driver but > > > > have no hardware to test. Can someone please test these patches? > > > > Thanks. > > > > > > > > http://www.freebsd.org/~jhb/patches/my_locking.patch > > > > > > This one works fine. > > > > Thanks for testing! I've just refreshed the sf_locking.patch patch as > > well (I think the last version I pointed you at didn't compile) which has > > the recursive panic you reported fixed. > > panic: mutex sf0 not owned at /usr/home/build/src/sys/kern/kern_mutex.c:300 > cpuid = 0 > KDB: enter: panic > [thread pid 220 tid 100071 ] > Stopped at kdb_enter+0x30: leave > db> tr > Tracing pid 220 tid 100071 td 0xc1d83600 > kdb_enter(c07945bc,0,c0793ab3,d8945b08,c1d83600) at kdb_enter+0x30 > panic(c0793ab3,c1ad7aa0,c0793946,12c,c1ac2acc) at panic+0x14e > _mtx_assert(c1ac2acc,1,c0793946,12c,c1ac2a80) at _mtx_assert+0x87 > _mtx_unlock_flags(c1ac2acc,0,c08ea1ea,4b9,c1adb800) at > _mtx_unlock_flags+0x90 sf_init(c1ac2a80,740,c07a88e0,8020690c,c1ac2a80) at > sf_init+0x59 > ether_ioctl(c1adb800,8020690c,c1d41d00,c05a7f61,0) at ether_ioctl+0x67 > sf_ioctl(c1adb800,8020690c,c1d41d00,100,1) at sf_ioctl+0xbc > in_ifinit(c1adb800,c1d41d00,c1c49790,0,1) at in_ifinit+0x208 > in_control(c1e24de8,8040691a,c1c49780,c1adb800,c1d83600) at > in_control+0x986 ifioctl(c1e24de8,8040691a,c1c49780,c1d83600,2) at > ifioctl+0x1cd > soo_ioctl(c1d81048,8040691a,c1c49780,c19dca80,c1d83600) at soo_ioctl+0x3ef > ioctl(c1d83600,d8945d04,c,422,3) at ioctl+0x45d > syscall(3b,3b,3b,80beac0,1) at syscall+0x2c0 > Xint0x80_syscall() at Xint0x80_syscall+0x1f > --- syscall (54, FreeBSD ELF32, ioctl), eip = 0x8055473, esp = 0xbfbfe5fc, > ebp = 0xbfbfee68 --- Sheesh, I haven't done nearly as badly on the other drivers I've changed. :-P I had missed removing the SF_UNLOCK at the end of sf_init_locked(). I've fixed it and uploaded the patch. Thanks for all the testing. Hopefully this one will work. :) > I can ship you a card, but it would take some time because US customs > is pretty anal these days :-/ No, that's fine. I'd actually prefer it if you can test it unless it is an inconvenience. -- John Baldwin <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve" = http://www.FreeBSD.org