ixgbe & if_igb RX ring locking

Ryan Stone rysto32 at gmail.com
Mon Oct 15 20:48:35 UTC 2012


On Mon, Oct 15, 2012 at 12:29 PM, Gleb Smirnoff <glebius at freebsd.org> wrote:
> To me this unlock/lock looks like a legacy from times, when the driver
> had a single mutex for both TX and RX parts.
>
> And removing this re-locking in foo_rxeof() was one of the aims for separate
> TX/RX locking.
>
> Really, lurking through history shows that once driver had split its locking
> to separate RX and TX part, these unlock/lock was removed. However, later
> this unlock/lock was added back:
>
> http://svnweb.freebsd.org/base/head/sys/dev/e1000/if_igb.c?revision=209068&view=markup
>
> , without any comments for the reason it is added back.

There's a convoluted LOR if you call into the stack with the RX lock
held which is described here:

http://lists.freebsd.org/pipermail/freebsd-net/2012-September/033371.html


More information about the freebsd-net mailing list