Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 31 Jul 2012 09:20:24 -0700
From:      Jack Vogel <jfvogel@gmail.com>
To:        John Baldwin <jhb@freebsd.org>
Cc:        Adrian Chadd <adrian@freebsd.org>, src-committers@freebsd.org, Garrett Cooper <yanegomi@gmail.com>, 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:  <CAFOYbck2f5%2B6-8ObjERKEdUo%2Bpw3bx4tqxO1SxngNwuDDC6PLA@mail.gmail.com>
In-Reply-To: <201207311212.21496.jhb@freebsd.org>
References:  <201207251128.q6PBSFlt052575@svn.freebsd.org> <5017F614.1010304@zonov.org> <CAGH67wSTfQwAZVpYtBQSs0iaZ7RhqLVu3DFVp9R5R7qXMra-RQ@mail.gmail.com> <201207311212.21496.jhb@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Yes, I agree John, that was ugly, I'm already taking care of it with my
changes,
I'll send you a copy to check out.

Jack


On Tue, Jul 31, 2012 at 9:12 AM, John Baldwin <jhb@freebsd.org> wrote:

> 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?CAFOYbck2f5%2B6-8ObjERKEdUo%2Bpw3bx4tqxO1SxngNwuDDC6PLA>