Date: Wed, 26 Sep 2012 09:17:14 -0700 From: Jack Vogel <jfvogel@gmail.com> To: John Baldwin <jhb@freebsd.org> Cc: freebsd-net@freebsd.org, Vijay Singh <vijju.singh@gmail.com> Subject: Re: ixgbe rx & tx locks Message-ID: <CAFOYbcmnVD2%2BY6g33S_iq_WVQoGcPA5yLWB1akVeV3kbB2qdyA@mail.gmail.com> In-Reply-To: <201209260955.14417.jhb@freebsd.org> References: <CALCNsJSSQSWV7vNVR-Sn8CPDKbUBBLpSH0b-HYMJo3SXvkOY=w@mail.gmail.com> <CALCNsJQ740ceDzpd5n7QAALn-uJ-GdWxPTkQJuMJUMTUGJjOUg@mail.gmail.com> <CAFOYbcmuxBmOfC6P0UBG5RR7xJy_i5mTr2NGMRcTJEJrQmjQ_Q@mail.gmail.com> <201209260955.14417.jhb@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, Sep 26, 2012 at 6:55 AM, John Baldwin <jhb@freebsd.org> wrote: > On Tuesday, September 25, 2012 4:40:58 pm Jack Vogel wrote: > > Ah yes, at one time I was keeping the RX side lock when calling the > stack, > > but then as I recall that had problems, so the code now releases and > > reaquires > > as you can see. It results in some contention but I'm not sure that's > > avoidable. > > > > I've seen some LRO related panics on the 1G driver that may be related to > > this lock release, or that's one theory I have.. > > > > Thanks for the testing Vijay! > > You only have to drop the RX lock around if_input() if you use the same > lock > for both TX and RX (as if_transmit() / if_start() can be invoked while > locks > in the network stack are held). If WITNESS complains, the fix is to only > use > the MTX_NETWORK_LOCK "lock type name" for your transmit ring locks, not for > RX. > > -- > John Baldwin > Oh, hmmm, well I should do some further testing with this then. Thanks for the tip. Jack
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAFOYbcmnVD2%2BY6g33S_iq_WVQoGcPA5yLWB1akVeV3kbB2qdyA>