All of lore.kernel.org
 help / color / mirror / Atom feed
From: Martin Kepplinger <martink@posteo.de>
To: Marek Vasut <marex@denx.de>, linux-wireless@vger.kernel.org
Cc: Angus Ainslie <angus@akkea.ca>,
	"David S . Miller" <davem@davemloft.net>,
	Jakub Kicinski <kuba@kernel.org>,
	Kalle Valo <kvalo@codeaurora.org>,
	Lee Jones <lee.jones@linaro.org>,
	Sebastian Krzyszkowiak <sebastian.krzyszkowiak@puri.sm>,
	Siva Rebbagondla <siva8118@gmail.com>,
	netdev@vger.kernel.org
Subject: Re: [PATCH 1/2] rsi: Move card interrupt handling to RX thread
Date: Wed, 4 Nov 2020 16:21:46 +0100	[thread overview]
Message-ID: <e7e5ad92-de6b-1bd5-18e0-728b8ea454c4@posteo.de> (raw)
In-Reply-To: <20201103180941.443528-1-marex@denx.de>

On 03.11.20 19:09, Marek Vasut wrote:
> The interrupt handling of the RS911x is particularly heavy. For each RX
> packet, the card does three SDIO transactions, one to read interrupt
> status register, one to RX buffer length, one to read the RX packet(s).
> This translates to ~330 uS per one cycle of interrupt handler. In case
> there is more incoming traffic, this will be more.
> 
> The drivers/mmc/core/sdio_irq.c has the following comment, quote "Just
> like traditional hard IRQ handlers, we expect SDIO IRQ handlers to be
> quick and to the point, so that the holding of the host lock does not
> cover too much work that doesn't require that lock to be held."
> 
> The RS911x interrupt handler does not fit that. This patch therefore
> changes it such that the entire IRQ handler is moved to the RX thread
> instead, and the interrupt handler only wakes the RX thread.
> 
> This is OK, because the interrupt handler only does things which can
> also be done in the RX thread, that is, it checks for firmware loading
> error(s), it checks buffer status, it checks whether a packet arrived
> and if so, reads out the packet and passes it to network stack.
> 
> Moreover, this change permits removal of a code which allocated an
> skbuff only to get 4-byte-aligned buffer, read up to 8kiB of data
> into the skbuff, queue this skbuff into local private queue, then in
> RX thread, this buffer is dequeued, the data in the skbuff as passed
> to the RSI driver core, and the skbuff is deallocated. All this is
> replaced by directly calling the RSI driver core with local buffer.
> 
> Signed-off-by: Marek Vasut <marex@denx.de>
> Cc: Angus Ainslie <angus@akkea.ca>
> Cc: David S. Miller <davem@davemloft.net>
> Cc: Jakub Kicinski <kuba@kernel.org>
> Cc: Kalle Valo <kvalo@codeaurora.org>
> Cc: Lee Jones <lee.jones@linaro.org>
> Cc: Martin Kepplinger <martink@posteo.de>
> Cc: Sebastian Krzyszkowiak <sebastian.krzyszkowiak@puri.sm>
> Cc: Siva Rebbagondla <siva8118@gmail.com>
> Cc: linux-wireless@vger.kernel.org
> Cc: netdev@vger.kernel.org
> ---
>   drivers/net/wireless/rsi/rsi_91x_sdio.c     |  6 +--
>   drivers/net/wireless/rsi/rsi_91x_sdio_ops.c | 52 ++++++---------------
>   drivers/net/wireless/rsi/rsi_sdio.h         |  8 +---
>   3 files changed, 15 insertions(+), 51 deletions(-)


hi Marek,

I'm running this without problems, so feel free to add

Tested-by: Martin Kepplinger <martin.kepplinger@puri.sm>

to both of your changes. thanks a lot,

                            martin

  parent reply	other threads:[~2020-11-04 15:21 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-11-03 18:09 [PATCH 1/2] rsi: Move card interrupt handling to RX thread Marek Vasut
2020-11-03 18:09 ` [PATCH 2/2] rsi: Clean up loop in the interrupt handler Marek Vasut
2020-11-04 15:21 ` Martin Kepplinger [this message]
2020-11-04 15:31   ` [PATCH 1/2] rsi: Move card interrupt handling to RX thread Marek Vasut
2020-11-10 18:55 ` Kalle Valo

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=e7e5ad92-de6b-1bd5-18e0-728b8ea454c4@posteo.de \
    --to=martink@posteo.de \
    --cc=angus@akkea.ca \
    --cc=davem@davemloft.net \
    --cc=kuba@kernel.org \
    --cc=kvalo@codeaurora.org \
    --cc=lee.jones@linaro.org \
    --cc=linux-wireless@vger.kernel.org \
    --cc=marex@denx.de \
    --cc=netdev@vger.kernel.org \
    --cc=sebastian.krzyszkowiak@puri.sm \
    --cc=siva8118@gmail.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.