Re: [PATCH] x86/apic: remove vector_lock from apic_retrigger_irq()

Luigi Rizzo <[email protected]>
Newsgroups org.kernel.vger.linux-arch,org.kernel.vger.linux-kernel
Message-ID <CAMOZA0K55H+tcMzyem+gUBfRzyhezPwuGULrOpT2FMahdCBcDw@mail.gmail.com>
On Fri, Feb 20, 2026 at 4:12 PM Luigi Rizzo <[email protected]> wrote:
>
> apic_retrigger_irq() grabs vector_lock, but this is not needed because
> any caller of this function holds the irqdesc lock, and that suffices to
> protect apicd->vector.
>
> Remove the unnecessary lock.
>
> Thomas found this is a leftover from v2.6 when it was truly needed.
>
> Signed-off-by: Luigi Rizzo <[email protected]>

Ping..
Is there any concern with this patch? We discussed it back in February,
see https://lore.kernel.org/all/87o6llwzd8.ffs@tglx/
and tgx confirmed the lock is not needed.

thanks
luigi

> ---
>  arch/x86/kernel/apic/vector.c | 3 ---
>  1 file changed, 3 deletions(-)
>
> diff --git a/arch/x86/kernel/apic/vector.c b/arch/x86/kernel/apic/vector.c
> index bddc544653999..fd0f133b379fd 100644
> --- a/arch/x86/kernel/apic/vector.c
> +++ b/arch/x86/kernel/apic/vector.c
> @@ -1002,11 +1002,8 @@ static void apic_force_complete_move(struct irq_data *irqd)
>  static int apic_retrigger_irq(struct irq_data *irqd)
>  {
>         struct apic_chip_data *apicd = apic_chip_data(irqd);
> -       unsigned long flags;
>
> -       raw_spin_lock_irqsave(&vector_lock, flags);
>         __apic_send_IPI(apicd->cpu, apicd->vector);
> -       raw_spin_unlock_irqrestore(&vector_lock, flags);
>
>         return 1;
>  }
> --
> 2.53.0.345.g96ddfc5eaa-goog
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.