diff -purN -X /home/mbligh/.diff.exclude 270-aiofix2/arch/i386/Kconfig 272-config_irqbal/arch/i386/Kconfig --- 270-aiofix2/arch/i386/Kconfig 2004-02-28 11:18:06.000000000 -0800 +++ 272-config_irqbal/arch/i386/Kconfig 2004-02-28 11:18:23.000000000 -0800 @@ -924,6 +924,14 @@ config 1000HZ bool "1000 Hz" endchoice +config IRQBALANCE + bool "Enable kernel irq balancing" + depends on SMP + default y + help + The defalut yes will allow the kernel to do irq load balancing. + Saying no will keep the kernel from doing irq load balancing. + config HAVE_DEC_LOCK bool depends on (SMP || PREEMPT) && X86_CMPXCHG diff -purN -X /home/mbligh/.diff.exclude 270-aiofix2/arch/i386/kernel/io_apic.c 272-config_irqbal/arch/i386/kernel/io_apic.c --- 270-aiofix2/arch/i386/kernel/io_apic.c 2004-02-28 11:16:12.000000000 -0800 +++ 272-config_irqbal/arch/i386/kernel/io_apic.c 2004-02-28 11:18:23.000000000 -0800 @@ -280,7 +280,7 @@ static void set_ioapic_affinity_irq(unsi spin_unlock_irqrestore(&ioapic_lock, flags); } -#if defined(CONFIG_SMP) +#if defined(CONFIG_IRQBALANCE) # include /* kernel_thread() */ # include /* kstat */ # include /* kmalloc() */ @@ -694,9 +694,11 @@ static inline void move_irq(int irq) __initcall(balanced_irq_init); -#else /* !SMP */ +#else /* !CONFIG_IRQBALANCE */ static inline void move_irq(int irq) { } +#endif /* CONFIG_IRQBALANCE */ +#ifndef CONFIG_SMP void send_IPI_self(int vector) { unsigned int cfg; @@ -711,7 +713,7 @@ void send_IPI_self(int vector) */ apic_write_around(APIC_ICR, cfg); } -#endif /* defined(CONFIG_SMP) */ +#endif /* !CONFIG_SMP */ /*