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 >