From: Florian Fainelli <f.fainelli@gmail.com>
To: Timur Tabi <timur@codeaurora.org>,
"David S. Miller" <davem@davemloft.net>,
netdev@vger.kernel.org
Subject: Re: [PATCH 1/2] [for 4.13] net: qcom/emac: disable flow control autonegotiation by default
Date: Tue, 1 Aug 2017 15:08:42 -0700 [thread overview]
Message-ID: <2117a00e-b2a3-a767-aee0-5f25b59facb9@gmail.com> (raw)
In-Reply-To: <ec4dedc0-d117-4fa7-9226-1aba61bf2e7e@codeaurora.org>
On 08/01/2017 03:02 PM, Timur Tabi wrote:
> On 08/01/2017 04:55 PM, Florian Fainelli wrote:
>> This is not specific to your EMAC, a lot of adapters have this problem
>> actually.
>>
>> I wonder if it would make sense to reach for a broader solution where we
>> could have a networking stack panic/oops notifier which will actively
>> clean up the active network devices' RX queue(s) and if tx_pause was
>> enabled, disable it. We could have drivers announce themselves as
>> needing this either via NETIF_F_* feature bit or some other private flag.
>
> Unfortunately, the problem occurs only when Linux hangs, to the point
> where the driver's interrupt handlers are blocked. The RX queue is 256
> entries, and the processor has 48 cores, so the EMAC is never going to
> send pause frames in any real-world situation.
>
> The only time I've seen pause frames sent out is in the lab when I halt
> the cores with a hardware debugger, and only if I have enough network
> traffic that the EMAC picks up.
The size and scale of your system makes it so but imagine e.g: a single
core ~ 1Ghz @ 1Gbits/sec system having the same problems, here you are
quite likely to see the system under panic flooding the network.
Then again your patch is fine and can be revised at any time a broader
facility is offered, I just felt like we actually have a good way with
reasonably driver-agnostic code to possibly deal with that problem.
Implementing such a solution would not be a -stable backport candidate
though....
--
Florian
next prev parent reply other threads:[~2017-08-01 22:08 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-08-01 21:37 [PATCH 0/2] net: qcom/emac: fixes for pause frame floods Timur Tabi
2017-08-01 21:37 ` [PATCH 1/2] [for 4.13] net: qcom/emac: disable flow control autonegotiation by default Timur Tabi
2017-08-01 21:55 ` Florian Fainelli
2017-08-01 22:02 ` Timur Tabi
2017-08-01 22:08 ` Florian Fainelli [this message]
2017-08-01 23:15 ` Andrew Lunn
2017-08-02 0:56 ` Timur Tabi
2017-08-02 2:58 ` Andrew Lunn
2017-08-02 3:22 ` Timur Tabi
2017-08-02 13:48 ` David Laight
2017-08-02 14:21 ` Timur Tabi
2017-08-02 14:51 ` David Laight
2017-08-02 15:08 ` Timur Tabi
2017-08-02 15:38 ` David Laight
2017-08-02 17:54 ` David Miller
2017-08-02 18:23 ` Timur Tabi
2017-08-02 18:35 ` David Miller
2017-08-02 18:39 ` Timur Tabi
2017-08-02 23:15 ` David Miller
2017-08-03 1:00 ` Timur Tabi
2017-08-02 18:36 ` David Miller
2017-08-01 21:37 ` [PATCH 2/2] net: qcom/emac: add software control for pause frame mode Timur Tabi
2017-08-01 21:51 ` Florian Fainelli
2017-08-01 22:00 ` Timur Tabi
2017-08-01 22:06 ` Florian Fainelli
2017-09-12 22:07 ` Timur Tabi
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=2117a00e-b2a3-a767-aee0-5f25b59facb9@gmail.com \
--to=f.fainelli@gmail.com \
--cc=davem@davemloft.net \
--cc=netdev@vger.kernel.org \
--cc=timur@codeaurora.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
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;
as well as URLs for NNTP newsgroup(s).