Re: [QUESTION] is vector_lock needed in apic_retrigger_irq() ?

From: Luigi Rizzo

Date: Mon Feb 16 2026 - 15:52:03 EST


apic_retrigger_irq() grabs vector_lock, see code below.

I am not sure if this is needed, because the function
is called with a lock held on irqdesc, so I think the CPU and
vector should be stable.

Comments ?

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;
}