Date: Mon, 15 Oct 2012 16:48:34 -0400 From: Ryan Stone <rysto32@gmail.com> To: Gleb Smirnoff <glebius@freebsd.org> Cc: "Alexander V. Chernikov" <melifaro@freebsd.org>, Jack Vogel <jfvogel@gmail.com>, net@freebsd.org Subject: Re: ixgbe & if_igb RX ring locking Message-ID: <CAFMmRNxT=GWxc6r7B81ENjzwJmfea3016Sh-DxJEGBwybM0QwQ@mail.gmail.com> In-Reply-To: <20121015162926.GV89655@FreeBSD.org> References: <5079A9A1.4070403@FreeBSD.org> <20121015162926.GV89655@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Oct 15, 2012 at 12:29 PM, Gleb Smirnoff <glebius@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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAFMmRNxT=GWxc6r7B81ENjzwJmfea3016Sh-DxJEGBwybM0QwQ>