Date: Sun, 21 Oct 2012 21:43:16 -0400 From: Ryan Stone <rysto32@gmail.com> To: "Alexander V. Chernikov" <melifaro@freebsd.org> Cc: Jack Vogel <jfvogel@gmail.com>, net@freebsd.org Subject: Re: ixgbe & if_igb RX ring locking Message-ID: <CAFMmRNxNMBAZ1fPKox4Y4rJhhh0AjSXwxCvrVbG89sOyohd7zQ@mail.gmail.com> In-Reply-To: <50843D39.5000003@FreeBSD.org> References: <5079A9A1.4070403@FreeBSD.org> <20121015162926.GV89655@FreeBSD.org> <CAFMmRNxT=GWxc6r7B81ENjzwJmfea3016Sh-DxJEGBwybM0QwQ@mail.gmail.com> <507D4F11.2030704@FreeBSD.org> <CAFMmRNy1h86ZXAH4oK%2BLOK6_VeTsbo=d6oYk669bisKfHbJ56A@mail.gmail.com> <20121016124733.GC89655@glebius.int.ru> <CAFMmRNzA23r_a0nrnsUN8ZoHGL5c7OF1-nCqWpN42FLc50d7eg@mail.gmail.com> <50843D39.5000003@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, Oct 21, 2012 at 2:21 PM, Alexander V. Chernikov <melifaro@freebsd.org> wrote: >> ix:rx -> udp is also fairly obvious (here's one backtrace): > The same question, where "udp" -> "ix:rx" can happen ? It can't happen directly as far as I can tell. But to trigger a deadlock, "all" that has to happen is that a thread holds each mutex in the cycle while trying to acquire the next mutex in the cycle. I realize that in this case that requires five separate threads to all lose a race simultaneously, but it's still theoretically possible and needs to be avoided.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAFMmRNxNMBAZ1fPKox4Y4rJhhh0AjSXwxCvrVbG89sOyohd7zQ>