Skip site navigation (1)Skip section navigation (2)
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>