linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Rajkumar Manoharan <rmanohar@codeaurora.org>
To: 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, linux-wireless-owner@vger.kernel.org
Subject: Re: [RFC 2/7] ath10k: Add support to process rx packet in thread
Date: Tue, 21 Jul 2020 14:53:19 -0700	[thread overview]
Message-ID: <13573549c277b34d4c87c471ff1a7060@codeaurora.org> (raw)
In-Reply-To: <1595351666-28193-3-git-send-email-pillair@codeaurora.org>

On 2020-07-21 10:14, Rakesh Pillai wrote:
> NAPI instance gets scheduled on a CPU core on which
> the IRQ was triggered. The processing of rx packets
> can be CPU intensive and since NAPI cannot be moved
> to a different CPU core, to get better performance,
> its better to move the gist of rx packet processing
> in a high priority thread.
> 
> Add the init/deinit part for a thread to process the
> receive packets.
> 
IMHO this defeat the whole purpose of NAPI. Originally in ath10k
irq processing happened in tasklet (high priority) context which in
turn push more data to net core even though net is unable to process
driver data as both happen in different context (fast producer - slow 
consumer)
issue. Why can't CPU governor schedule the interrupts in less loaded CPU 
core?
Otherwise you can play with different RPS and affinity settings to meet 
your
requirement.

IMO introducing high priority tasklets/threads is not viable solution.

-Rajkumar

  reply	other threads:[~2020-07-21 21:55 UTC|newest]

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-07-21 17:14 [RFC 0/7] Add support to process rx packets in thread Rakesh Pillai
2020-07-21 17:14 ` [RFC 1/7] mac80211: Add check for napi handle before WARN_ON Rakesh Pillai
2020-07-22 12:56   ` Johannes Berg
2020-07-23 18:26     ` Rakesh Pillai
2020-07-23 20:06       ` Johannes Berg
2020-07-24  6:21         ` Rakesh Pillai
2020-07-26 16:19         ` Rakesh Pillai
2020-07-30 12:40           ` Johannes Berg
2020-07-21 17:14 ` [RFC 2/7] ath10k: Add support to process rx packet in thread Rakesh Pillai
2020-07-21 21:53   ` Rajkumar Manoharan [this message]
2020-07-22 12:27     ` Felix Fietkau
2020-07-22 12:55       ` Johannes Berg
2020-07-22 13:00         ` Felix Fietkau
2020-07-23  6:09           ` Rajkumar Manoharan
2021-03-22 23:57           ` Ben Greear
2021-03-23  1:20             ` Brian Norris
2021-03-23  3:01               ` Ben Greear
2021-03-23  7:45                 ` Felix Fietkau
2021-03-25  9:45                   ` Rakesh Pillai
2021-03-25 10:33                     ` Felix Fietkau
2020-07-23 18:25     ` Rakesh Pillai
2020-07-24 23:11       ` Jacob Keller
2020-07-21 17:14 ` [RFC 3/7] ath10k: Add module param to enable rx thread Rakesh Pillai
2020-07-21 17:14 ` [RFC 4/7] ath10k: Do not exhaust budget on process tx completion Rakesh Pillai
2020-07-21 17:14 ` [RFC 5/7] ath10k: Handle the rx packet processing in thread Rakesh Pillai
2020-07-21 17:14 ` [RFC 6/7] ath10k: Add deliver to stack from thread context Rakesh Pillai
2020-07-21 17:14 ` [RFC 7/7] ath10k: Handle rx thread suspend and resume Rakesh Pillai
2020-07-23 23:06   ` Sebastian Gottschall
2020-07-24  6:19     ` Rakesh Pillai
2020-07-21 17:25 ` [RFC 0/7] Add support to process rx packets in thread Andrew Lunn
2020-07-21 18:05   ` Florian Fainelli
2020-07-23 18:21     ` Rakesh Pillai
2020-07-23 19:02       ` Florian Fainelli
2020-07-24  6:20         ` Rakesh Pillai
2020-07-24 22:28           ` Florian Fainelli
2020-07-22  9:12   ` David Laight
2020-07-22 16:20   ` Jakub Kicinski
     [not found]   ` <20200725081633.7432-1-hdanton@sina.com>
2020-07-25 10:38     ` Sebastian Gottschall
2020-07-25 14:08       ` Sebastian Gottschall
     [not found]       ` <20200725145728.10556-1-hdanton@sina.com>
2020-07-25 15:41         ` Sebastian Gottschall
2020-07-26 11:16           ` David Laight
2020-07-28 16:59             ` Rakesh Pillai
2020-07-25 17:57     ` Felix Fietkau
     [not found]     ` <20200726012244.15264-1-hdanton@sina.com>
2020-07-26  8:10       ` Felix Fietkau
     [not found]       ` <20200726083239.5060-1-hdanton@sina.com>
2020-07-26  8:59         ` Felix Fietkau

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=13573549c277b34d4c87c471ff1a7060@codeaurora.org \
    --to=rmanohar@codeaurora.org \
    --cc=ath10k@lists.infradead.org \
    --cc=davem@davemloft.net \
    --cc=dianders@chromium.org \
    --cc=evgreen@chromium.org \
    --cc=johannes@sipsolutions.net \
    --cc=kuba@kernel.org \
    --cc=kvalo@codeaurora.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-wireless-owner@vger.kernel.org \
    --cc=linux-wireless@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=pillair@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).