Thread (37 messages) 37 messages, 12 authors, 2021-03-25

RE: [RFC 0/7] Add support to process rx packets in thread

From: Rakesh Pillai <hidden>
Date: 2020-07-23 18:21:38
Also in: linux-wireless, lkml

-----Original Message-----
From: Florian Fainelli <f.fainelli@gmail.com>
Sent: Tuesday, July 21, 2020 11:35 PM
To: Andrew Lunn <andrew@lunn.ch>; Rakesh Pillai <redacted>
Cc: ath10k@lists.infradead.org; linux-wireless@vger.kernel.org; linux-
kernel@vger.kernel.org; kvalo@codeaurora.org; johannes@sipsolutions.net;
davem@davemloft.net; kuba@kernel.org; netdev@vger.kernel.org;
dianders@chromium.org; evgreen@chromium.org
Subject: Re: [RFC 0/7] Add support to process rx packets in thread

On 7/21/20 10:25 AM, Andrew Lunn wrote:
quoted
On Tue, Jul 21, 2020 at 10:44:19PM +0530, Rakesh Pillai wrote:
quoted
NAPI gets scheduled on the CPU core which got the
interrupt. The linux scheduler cannot move it to a
different core, even if the CPU on which NAPI is running
is heavily loaded. This can lead to degraded wifi
performance when running traffic at peak data rates.

A thread on the other hand can be moved to different
CPU cores, if the one on which its running is heavily
loaded. During high incoming data traffic, this gives
better performance, since the thread can be moved to a
less loaded or sometimes even a more powerful CPU core
to account for the required CPU performance in order
to process the incoming packets.

This patch series adds the support to use a high priority
thread to process the incoming packets, as opposed to
everything being done in NAPI context.
I don't see why this problem is limited to the ath10k driver. I expect
it applies to all drivers using NAPI. So shouldn't you be solving this
in the NAPI core? Allow a driver to request the NAPI core uses a
thread?
What's more, you should be able to configure interrupt affinity to steer
RX processing onto a desired CPU core, is not that working for you
somehow?
Hi Florian,
Yes, the affinity of IRQ does work for me.
But the affinity of IRQ does not happen runtime based on load.

--
Florian
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help