netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Andy Duan <fugang.duan@nxp.com>
To: David Miller <davem@davemloft.net>,
	"tobias@waldekranz.com" <tobias@waldekranz.com>
Cc: "netdev@vger.kernel.org" <netdev@vger.kernel.org>
Subject: RE: [EXT] Re: [PATCH net-next] net: ethernet: fec: prevent tx starvation under high rx load
Date: Sun, 28 Jun 2020 06:23:18 +0000	[thread overview]
Message-ID: <AM6PR0402MB3607B4D0AD43E1CBC41214BCFF910@AM6PR0402MB3607.eurprd04.prod.outlook.com> (raw)
In-Reply-To: <20200625.121938.828374998212486132.davem@davemloft.net>

From: David Miller <davem@davemloft.net> Sent: Friday, June 26, 2020 3:20 AM
> From: Tobias Waldekranz <tobias@waldekranz.com>
> Date: Thu, 25 Jun 2020 10:57:28 +0200
> 
> > In the ISR, we poll the event register for the queues in need of
> > service and then enter polled mode. After this point, the event
> > register will never be read again until we exit polled mode.
> >
> > In a scenario where a UDP flow is routed back out through the same
> > interface, i.e. "router-on-a-stick" we'll typically only see an rx
> > queue event initially. Once we start to process the incoming flow
> > we'll be locked polled mode, but we'll never clean the tx rings since
> > that event is never caught.
> >
> > Eventually the netdev watchdog will trip, causing all buffers to be
> > dropped and then the process starts over again.
> >
> > By adding a poll of the active events at each NAPI call, we avoid the
> > starvation.
> >
> > Signed-off-by: Tobias Waldekranz <tobias@waldekranz.com>
> 
> You're losing events, which is a bug.  Therefore this is a bug fix which should
> be submitted to 'net' and an appropriate "Fixes: "
> tag must be added to your commit message.
> 
> Thank you.

I never seem bandwidth test cause netdev watchdog trip.
Can you describe the reproduce steps on the commit, then we can reproduce it
on my local. Thanks. 

But, the logic seems fine.

  reply	other threads:[~2020-06-28  6:23 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-06-25  8:57 [PATCH net-next] net: ethernet: fec: prevent tx starvation under high rx load Tobias Waldekranz
2020-06-25 19:19 ` David Miller
2020-06-28  6:23   ` Andy Duan [this message]
2020-06-29 16:29     ` [EXT] " Tobias Waldekranz
2020-06-30  6:27       ` Andy Duan
2020-06-30  7:30         ` Tobias Waldekranz
2020-06-30  8:26           ` Andy Duan
2020-06-30  8:55             ` Tobias Waldekranz
2020-06-30  9:02               ` Andy Duan
2020-06-30  9:12                 ` Tobias Waldekranz
2020-06-30  9:47                   ` Andy Duan
2020-06-30 11:01                     ` Tobias Waldekranz
2020-07-01  1:27                       ` Andy Duan
2020-06-30 13:45                     ` Tobias Waldekranz

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=AM6PR0402MB3607B4D0AD43E1CBC41214BCFF910@AM6PR0402MB3607.eurprd04.prod.outlook.com \
    --to=fugang.duan@nxp.com \
    --cc=davem@davemloft.net \
    --cc=netdev@vger.kernel.org \
    --cc=tobias@waldekranz.com \
    /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).