From owner-svn-src-head@FreeBSD.ORG Tue Jul 31 16:13:58 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 58E1C106566C; Tue, 31 Jul 2012 16:13:58 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from bigwig.baldwin.cx (bigknife-pt.tunnel.tserv9.chi1.ipv6.he.net [IPv6:2001:470:1f10:75::2]) by mx1.freebsd.org (Postfix) with ESMTP id 298828FC1C; Tue, 31 Jul 2012 16:13:58 +0000 (UTC) Received: from jhbbsd.localnet (unknown [209.249.190.124]) by bigwig.baldwin.cx (Postfix) with ESMTPSA id 86304B98C; Tue, 31 Jul 2012 12:13:57 -0400 (EDT) From: John Baldwin To: Garrett Cooper Date: Tue, 31 Jul 2012 12:12:21 -0400 User-Agent: KMail/1.13.5 (FreeBSD/8.2-CBSD-20110714-p17; KDE/4.5.5; amd64; ; ) References: <201207251128.q6PBSFlt052575@svn.freebsd.org> <5017F614.1010304@zonov.org> In-Reply-To: MIME-Version: 1.0 Content-Type: Text/Plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Message-Id: <201207311212.21496.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.2.7 (bigwig.baldwin.cx); Tue, 31 Jul 2012 12:13:57 -0400 (EDT) Cc: Adrian Chadd , src-committers@freebsd.org, svn-src-all@freebsd.org, Andrey Zonov , Luigi Rizzo , svn-src-head@freebsd.org Subject: Re: svn commit: r238765 - head/sys/dev/e1000 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 31 Jul 2012 16:13:58 -0000 On Tuesday, July 31, 2012 11:16:07 am Garrett Cooper wrote: > On Tue, Jul 31, 2012 at 8:13 AM, Andrey Zonov wrote: > > On 7/28/12 2:09 AM, Adrian Chadd wrote: > >> > >> Hi, > >> > >> Can you please revert this commit for now? > >> > >> * it has some netmap stuff in it that isn't related to the commit; > >> * it's causing panics due to lock recursion; > > > > > > I can confirm panics with the latest HEAD running under ESX. > > > > _mtx_lock_sleep: recursed on non-recursive mutex em0 @ > > /usr/src/sys/dev/e1000/if_lem.c:881 > > > > Tracing pid 12 tid 100030 td 0xfffffe0002960480 > > kdb_enter() at kdb_enter+0x3b > > panic() at panic+0x1d1 > > _mtx_lock_sleep() at _mtx_lock_sleep+0x35f > > _mtx_lock_flags() at _mtx_lock_flags+0x111 > > lem_start() at lem_start+0x34 > > if_transmit() at if_transmit+0xd6 > > ether_output_frame() at ether_output_frame+0x45 > > ether_output() at ether_output+0x548 > > arpintr() at arpintr+0x10c1 > > netisr_dispatch_src() at netisr_dispatch_src+0x152 > > ether_demux() at ether_demux+0x18d > > ether_nh_input() at ether_nh_input+0x290 > > netisr_dispatch_src() at netisr_dispatch_src+0x152 > > lem_intr() at lem_intr+0x3ba > > intr_event_execute_handlers() at intr_event_execute_handlers+0x6a > > ithread_loop() at ithread_loop+0xab > > fork_exit() at fork_exit+0x135 > > fork_trampoline() at fork_trampoline+0xe > > --- trap 0, rip = 0, rsp = 0xffffff8000301cb0, rbp = 0 --- > > http://lists.freebsd.org/pipermail/freebsd-current/2012-July/035593.html I'd prefer you not add the 'locked' variable, but instead have the normal code path just return before the 'out' label. -- John Baldwin