ixgbe rx & tx locks

Jack Vogel jfvogel at gmail.com
Wed Sep 26 16:17:15 UTC 2012


On Wed, Sep 26, 2012 at 6:55 AM, John Baldwin <jhb at 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


More information about the freebsd-net mailing list