From: Jarek Poplawski <jarkao2@gmail•com>
To: David Miller <davem@davemloft•net>
Cc: eric.dumazet@gmail•com, eminak71@gmail•com,
akpm@linux-foundation•org, netdev@vger•kernel.org,
bugzilla-daemon@bugzilla•kernel.org,
bugme-daemon@bugzilla•kernel.org, avorontsov@mvista•com,
afleming@freescale•com
Subject: Re: [PATCH] gianfar: Fix crashes on RX path
Date: Tue, 26 Oct 2010 23:20:42 +0200 [thread overview]
Message-ID: <20101026212042.GA1888@del.dom.local> (raw)
In-Reply-To: <20101026.104257.245396217.davem@davemloft.net>
On Tue, Oct 26, 2010 at 10:42:57AM -0700, David Miller wrote:
> From: Jarek Poplawski <jarkao2@gmail•com>
> Date: Fri, 22 Oct 2010 08:52:48 +0000
>
> > On Fri, Oct 22, 2010 at 06:52:31AM +0000, Jarek Poplawski wrote:
> >> On Fri, Oct 22, 2010 at 08:11:57AM +0200, Eric Dumazet wrote:
> > ...
> >> > Gianfar claims to be multiqueue, but only one cpu can run gfar_poll()
> >> > and call gfar_clean_tx_ring() / gfar_clean_rx_ring()
> >> >
> >> > If not, there would be more bugs than only rx_recycle thing
> >>
> >> I didn't find what prevents running gfar_poll on many cpus and don't
> >> claim there is no more bugs around.
> >
> > On the other hand, I don't see your point in the code below either.
> > These're only per gfargrp queues - not per device, aren't they?
>
> I am still not at the point where I feel confortable applying this bug
> fix, in fact I am very far from that.
>
> None of the logic is consistent in what we are saying causes the
> problem.
>
> Anything that would make the RX recycling code racy and corrupt
> recycling queue of the gianfar driver, would also corrupt all of the
> other RX side and other driver state.
>
> The NAPI state is unary for gianfar, and inside of that singular
> ->poll() instance it iterates over the queues.
IMHO, the NAPI state is unary only for gfargrp, and multiple ->poll()
instances share a (unary) rx_recycle queue without proper locking.
Thanks,
Jarek P.
next prev parent reply other threads:[~2010-10-26 21:20 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <bug-19692-10286@https.bugzilla.kernel.org/>
2010-10-04 20:53 ` [Bugme-new] [Bug 19692] New: linux-2.6.36-rc5 crash with gianfar ethernet at full line rate traffic Andrew Morton
2010-10-08 9:24 ` Jarek Poplawski
2010-10-09 12:10 ` emin ak
2010-10-10 10:32 ` Jarek Poplawski
2010-10-15 8:58 ` Jarek Poplawski
2010-10-15 23:14 ` emin ak
2010-10-16 19:48 ` Jarek Poplawski
2010-10-19 6:44 ` emin ak
2010-10-19 10:06 ` [PATCH] gianfar: Fix crashes on RX path (Was Re: [Bugme-new] [Bug 19692] New: linux-2.6.36-rc5 crash with gianfar ethernet at full line rate traffic) Jarek Poplawski
2010-10-22 5:42 ` emin ak
2010-10-22 6:14 ` Eric Dumazet
2010-10-22 7:03 ` Jarek Poplawski
2010-10-22 6:11 ` Eric Dumazet
2010-10-22 6:52 ` Jarek Poplawski
2010-10-22 8:52 ` Jarek Poplawski
2010-10-26 17:42 ` [PATCH] gianfar: Fix crashes on RX path David Miller
2010-10-26 21:20 ` Jarek Poplawski [this message]
2010-10-26 21:23 ` David Miller
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20101026212042.GA1888@del.dom.local \
--to=jarkao2@gmail$(echo .)com \
--cc=afleming@freescale$(echo .)com \
--cc=akpm@linux-foundation$(echo .)org \
--cc=avorontsov@mvista$(echo .)com \
--cc=bugme-daemon@bugzilla$(echo .)kernel.org \
--cc=bugzilla-daemon@bugzilla$(echo .)kernel.org \
--cc=davem@davemloft$(echo .)net \
--cc=eminak71@gmail$(echo .)com \
--cc=eric.dumazet@gmail$(echo .)com \
--cc=netdev@vger$(echo .)kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox