lkml.org 
[lkml]   [2020]   [Jul]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: [RFC 0/7] Add support to process rx packets in thread
    From
    Date
    On 7/23/20 11:21 AM, Rakesh Pillai wrote:
    >
    >
    >> -----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 <pillair@codeaurora.org>
    >> 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:
    >>> On Tue, Jul 21, 2020 at 10:44:19PM +0530, Rakesh Pillai wrote:
    >>>> 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.

    It can if you also run irqbalance.
    --
    Florian

    \
     
     \ /
      Last update: 2020-07-23 21:03    [W:5.226 / U:0.540 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site