• Suresh Siddha's avatar
    x86, irq: Update the vector domain for legacy irqs handled by io-apic · 69c89efb
    Suresh Siddha authored
    In the recent change of not reserving IRQ0_VECTOR..IRQ15_VECTOR's on all
    cpu's, we start with irq 0..15 getting directed to (and handled on) cpu-0.
    
    In the logical flat mode, once the AP's are online (and before irqbalance
    comes into picture), kernel intends to handle these IRQ's on any cpu (as the
    logical flat mode allows to specify multiple cpu's for the irq destination and
    the chipset based routing can deliver to the interrupt to any one of
    the specified cpu's). This was broken with our recent change, which was ending
    up using only cpu 0 as the destination, even when the kernel was specifying to
    use all online cpu's for the logical flat mode case.
    
    Fix this by updating vector allocation domain (cfg->domain) for legacy irqs,
    when the IO-APIC handles them.
    Signed-off-by: default avatarSuresh Siddha <suresh.b.siddha@intel.com>
    LKML-Reference: <20100129194330.207790269@sbs-t61.sc.intel.com>
    Tested-by: default avatarLi Zefan <lizf@cn.fujitsu.com>
    Cc: Yinghai Lu <yinghai@kernel.org>
    Cc: Eric W. Biederman <ebiederm@xmission.com>
    Signed-off-by: default avatarH. Peter Anvin <hpa@zytor.com>
    69c89efb
io_apic.c 101 KB