mbox series

[0/2] chelsio: cxgb: Use threaded interrupts for deferred work

Message ID 20210202170104.1909200-1-bigeasy@linutronix.de (mailing list archive)
Headers show
Series chelsio: cxgb: Use threaded interrupts for deferred work | expand

Message

Sebastian Andrzej Siewior Feb. 2, 2021, 5:01 p.m. UTC
Patch #2 fixes an issue in which del_timer_sync() and tasklet_kill() is
invoked from the interrupt handler. This is probably a rare error case
since it disables interrupts / the card in that case.
Patch #1 converts a worker to use a threaded interrupt which is then
also used in patch #2 instead adding another worker for this task (and
flush_work() to synchronise vs rmmod).

This has been only compile tested.

Sebastian

Comments

Jesse Brandeburg Feb. 3, 2021, 1:31 a.m. UTC | #1
Sebastian Andrzej Siewior wrote:

> Patch #2 fixes an issue in which del_timer_sync() and tasklet_kill() is
> invoked from the interrupt handler. This is probably a rare error case
> since it disables interrupts / the card in that case.
> Patch #1 converts a worker to use a threaded interrupt which is then
> also used in patch #2 instead adding another worker for this task (and
> flush_work() to synchronise vs rmmod).
> 
> This has been only compile tested.

Hi! Thanks for your patch. Do all drivers that use worker threads need
to convert like this or only some?

In future revisions, please indicate the tree
you're targeting, net or net-next.  ie [PATCH net-next v1] I'd also
invert the two paragraphs and talk about patch #1 first.

Jesse
Sebastian Andrzej Siewior Feb. 3, 2021, 9:03 a.m. UTC | #2
On 2021-02-02 17:31:23 [-0800], Jesse Brandeburg wrote:
> Sebastian Andrzej Siewior wrote:
> 
> > Patch #2 fixes an issue in which del_timer_sync() and tasklet_kill() is
> > invoked from the interrupt handler. This is probably a rare error case
> > since it disables interrupts / the card in that case.
> > Patch #1 converts a worker to use a threaded interrupt which is then
> > also used in patch #2 instead adding another worker for this task (and
> > flush_work() to synchronise vs rmmod).
> > 
> > This has been only compile tested.
> 
> Hi! Thanks for your patch. Do all drivers that use worker threads need
> to convert like this or only some?

There is no need but it does makes things easier.

> In future revisions, please indicate the tree
> you're targeting, net or net-next.  ie [PATCH net-next v1] I'd also
> invert the two paragraphs and talk about patch #1 first.

I left it out on purpose since I have no chance on testing the change I
made. Technically both fix something and the bug was there since day
one and it is not something you likely trigger.

> Jesse

Sebastian
patchwork-bot+netdevbpf@kernel.org Feb. 4, 2021, 1:50 a.m. UTC | #3
Hello:

This series was applied to netdev/net-next.git (refs/heads/master):

On Tue,  2 Feb 2021 18:01:02 +0100 you wrote:
> Patch #2 fixes an issue in which del_timer_sync() and tasklet_kill() is
> invoked from the interrupt handler. This is probably a rare error case
> since it disables interrupts / the card in that case.
> Patch #1 converts a worker to use a threaded interrupt which is then
> also used in patch #2 instead adding another worker for this task (and
> flush_work() to synchronise vs rmmod).
> 
> [...]

Here is the summary with links:
  - [1/2] chelsio: cxgb: Replace the workqueue with threaded interrupt
    https://git.kernel.org/netdev/net-next/c/fec7fa0a750c
  - [2/2] chelsio: cxgb: Disable the card on error in threaded interrupt
    https://git.kernel.org/netdev/net-next/c/82154580a7f7

You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html