Messages in this thread Patch in this message |  | | Date | Sat, 31 May 2003 13:52:52 +0200 | From | Andi Kleen <> | Subject | [PATCH] More irq balance fixes |
| |
John Stultz noticed that kirqd didn't start because of another logic error, which broke irq balancing. This was still a fallout from the generic subarchitecture changes.
Actually it still refuses to balance anything on my test box, but perhaps I'm just not able to generate enough interrupts.
Anyways, with this patch the thread is running again at least.
-Andi
Index: linux/arch/i386/kernel/io_apic.c =================================================================== RCS file: /home/cvs/linux-2.5/arch/i386/kernel/io_apic.c,v retrieving revision 1.72 diff -u -u -r1.72 io_apic.c --- linux/arch/i386/kernel/io_apic.c 30 May 2003 20:11:58 -0000 1.72 +++ linux/arch/i386/kernel/io_apic.c 31 May 2003 10:24:18 -0000 @@ -352,16 +352,8 @@ unsigned long allowed_mask; unsigned int new_cpu; - if (irqbalance_disabled == IRQBALANCE_CHECK_ARCH) - irqbalance_disabled = NO_BALANCE_IRQ; - if (irqbalance_disabled) { - static int warned; - if (warned == 0) { - printk("irqbalance disabled\n"); - warned = 1; - } + if (irqbalance_disabled) return; - } allowed_mask = cpu_online_map & irq_affinity[irq]; new_cpu = move(cpu, allowed_mask, now, 1); @@ -620,6 +612,9 @@ struct cpuinfo_x86 *c; c = &boot_cpu_data; + /* When not overwritten by the command line ask subarchitecture. */ + if (irqbalance_disabled == IRQBALANCE_CHECK_ARCH) + irqbalance_disabled = NO_BALANCE_IRQ; if (irqbalance_disabled) return 0; - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|  |