Date: Tue, 31 Jul 2012 12:12:21 -0400 From: John Baldwin <jhb@freebsd.org> To: Garrett Cooper <yanegomi@gmail.com> Cc: Adrian Chadd <adrian@freebsd.org>, src-committers@freebsd.org, svn-src-all@freebsd.org, Andrey Zonov <andrey@zonov.org>, Luigi Rizzo <luigi@freebsd.org>, svn-src-head@freebsd.org Subject: Re: svn commit: r238765 - head/sys/dev/e1000 Message-ID: <201207311212.21496.jhb@freebsd.org> In-Reply-To: <CAGH67wSTfQwAZVpYtBQSs0iaZ7RhqLVu3DFVp9R5R7qXMra-RQ@mail.gmail.com> References: <201207251128.q6PBSFlt052575@svn.freebsd.org> <5017F614.1010304@zonov.org> <CAGH67wSTfQwAZVpYtBQSs0iaZ7RhqLVu3DFVp9R5R7qXMra-RQ@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tuesday, July 31, 2012 11:16:07 am Garrett Cooper wrote: > On Tue, Jul 31, 2012 at 8:13 AM, Andrey Zonov <andrey@zonov.org> 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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201207311212.21496.jhb>