--- linux-2.6.32.x86_64/arch/x86/kernel/apic/io_apic.c.orig 2010-08-31 22:31:45.000000000 +0100 +++ linux-2.6.32.x86_64/arch/x86/kernel/apic/io_apic.c 2010-09-02 21:54:02.000000000 +0100 @@ -1237,8 +1237,11 @@ cfg->move_in_progress = 1; cpumask_copy(cfg->old_domain, cfg->domain); } - for_each_cpu_and(new_cpu, tmp_mask, cpu_online_mask) + for_each_cpu_and(new_cpu, tmp_mask, cpu_online_mask) { per_cpu(vector_irq, new_cpu)[vector] = irq; + printk(KERN_WARNING "__assign_irq_vector: setting vector_irq[%d]=%d for cpu=%d\n", + vector, irq, new_cpu); + } cfg->vector = vector; cpumask_copy(cfg->domain, tmp_mask); err = 0; @@ -1462,10 +1465,12 @@ cfg = desc->chip_data; + printk(KERN_WARNING "setup_IO_APIC_irq: cfg->domain=%d\n", cfg->domain->bits[0]); if (assign_irq_vector(irq, cfg, apic->target_cpus())) return; dest = apic->cpu_mask_to_apicid_and(cfg->domain, apic->target_cpus()); + printk(KERN_WARNING "setup_IO_APIC_irq: dest=%d\n", dest); apic_printk(APIC_VERBOSE,KERN_DEBUG "IOAPIC[%d]: Set routing entry (%d-%d -> 0x%x -> "