[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <AM6PR0402MB3607B4D0AD43E1CBC41214BCFF910@AM6PR0402MB3607.eurprd04.prod.outlook.com>
Date: Sun, 28 Jun 2020 06:23:18 +0000
From: Andy Duan <fugang.duan@....com>
To: David Miller <davem@...emloft.net>,
"tobias@...dekranz.com" <tobias@...dekranz.com>
CC: "netdev@...r.kernel.org" <netdev@...r.kernel.org>
Subject: RE: [EXT] Re: [PATCH net-next] net: ethernet: fec: prevent tx
starvation under high rx load
From: David Miller <davem@...emloft.net> Sent: Friday, June 26, 2020 3:20 AM
> From: Tobias Waldekranz <tobias@...dekranz.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@...dekranz.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.
Powered by blists - more mailing lists