All of lore.kernel.org
 help / color / mirror / Atom feed
From: Thomas Gleixner <tglx@linutronix.de>
To: Thomas Pfaff <tpfaff@pcs.com>
Cc: linux-kernel@vger.kernel.org, linux-rt-users@vger.kernel.org
Subject: Re: [PATCH v3] irq/core: synchronize irq_thread startup
Date: Tue, 10 May 2022 13:37:51 +0200	[thread overview]
Message-ID: <87mtfppqi8.ffs@tglx> (raw)
In-Reply-To: <87pmklpqod.ffs@tglx>

On Tue, May 10 2022 at 13:34, Thomas Gleixner wrote:
> On Tue, May 10 2022 at 10:43, Thomas Pfaff wrote:
>> It can be done only before the interrupt thread is stopped, and free_irq() 
>> itself is already taking care about synchronizing, no matter if its done by 
>> __synchronize_hardirq() or by synchronize_irq(), like it was before commit 
>> 519cc8652b3a.
>
> No, it does not really take care about it. It can return with
> irq_desc::threads_active > 0 due to the interrupt thread being stopped
> before reaching the thread function. Think about shared interrupts.

Duh. Hit send too fast.

It does matter whether the synchronization is done via
__synchronize_hardirq() or via synchronize_irq(). The latter ensured
that the thread reached the thread function and handled the pending
wakeup _before_ kthread_stop() become true.

So the fix is required to undo the damage created by 519cc8652b3a.

The synchronize_irq() after free_irq() is a completely different
problem.

Thanks,

        tglx

  reply	other threads:[~2022-05-10 11:37 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-05-02 11:28 [PATCH v3] irq/core: synchronize irq_thread startup Thomas Pfaff
2022-05-02 11:48 ` Marc Zyngier
2022-05-02 14:28 ` Thomas Gleixner
2022-05-02 15:34   ` Thomas Pfaff
2022-05-02 19:00     ` Thomas Gleixner
2022-05-10  8:43   ` Thomas Pfaff
2022-05-10 11:34     ` Thomas Gleixner
2022-05-10 11:37       ` Thomas Gleixner [this message]
2022-05-10 12:58         ` Thomas Pfaff
2022-05-02 19:21 ` [tip: irq/urgent] genirq: Synchronize interrupt thread startup tip-bot2 for Thomas Pfaff
     [not found] ` <20220502160106.4587-1-hdanton@sina.com>
2022-05-02 19:24   ` [PATCH v3] irq/core: synchronize irq_thread startup Thomas Gleixner
     [not found]   ` <20220503004209.4670-1-hdanton@sina.com>
2022-05-03  7:38     ` Thomas Gleixner
2022-05-05 10:01 ` [tip: irq/urgent] genirq: Synchronize interrupt thread startup tip-bot2 for Thomas Pfaff

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=87mtfppqi8.ffs@tglx \
    --to=tglx@linutronix.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-rt-users@vger.kernel.org \
    --cc=tpfaff@pcs.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.