arch/x86/kernel/apic/vector.c | 3 --- 1 file changed, 3 deletions(-)
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 <lrizzo@google.com>
---
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
On Fri, Feb 20, 2026 at 4:12 PM Luigi Rizzo <lrizzo@google.com> 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 <lrizzo@google.com>
> ---
> 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
>
Is there any concern with this proposed patch?
cheers
luigi
© 2016 - 2026 Red Hat, Inc.