On Fri, Jul 17, 2015 at 9:06 AM, Thomas Gleixner <tglx@xxxxxxxxxxxxx> wrote: > On Sun, 12 Jul 2015, Bjorn Helgaas wrote: > >> The per-cpu vector_irq[] table is indexed by CPU vector numbers, and each >> entry contains an IRQ number. >> >> Rename the special values VECTOR_UNDEFINED and VECTOR_RETRIGGERED to >> IRQ_UNDEFINED and IRQ_RETRIGGERED to indicate that they are in the IRQ >> number space, not the CPU vector number space. > > Makes some sense, but OTOH vector_irq actually reflects the vector > state not the irq number state. The fact that we store the Linux irq > number in vector_irq is just an implementation detail. > > VECTOR_UNDEFINED is certainly a misnomer; that should be VECTOR_UNUSED > > VECTOR_RETRIGGERED is pretty accurate. In the case we retrigger an > interrupt, we merily use the Linux irq number to figure out which > vector to kick. And after we retriggered it, we lose the association > to the Linux irq number completely. > > That said, I'm working on storing the irq descriptor pointer in > vector_irq instead of the irq number, which has the advantage that we > avoid the lookup of the irq descriptor in the interrupt hotpath. OK, I'll abandon this. Thanks for taking a look! Bjorn