diff -urpN -X /home/fletch/.diff.exclude 698-aiofix2/arch/i386/Kconfig 700-config_irqbal/arch/i386/Kconfig --- 698-aiofix2/arch/i386/Kconfig Sat Jun 14 20:42:18 2003 +++ 700-config_irqbal/arch/i386/Kconfig Sat Jun 14 20:42:23 2003 @@ -845,6 +845,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 -urpN -X /home/fletch/.diff.exclude 698-aiofix2/arch/i386/kernel/io_apic.c 700-config_irqbal/arch/i386/kernel/io_apic.c --- 698-aiofix2/arch/i386/kernel/io_apic.c Sat Jun 14 20:42:17 2003 +++ 700-config_irqbal/arch/i386/kernel/io_apic.c Sat Jun 14 20:42:23 2003 @@ -271,7 +271,7 @@ static void set_ioapic_affinity (unsigne spin_unlock_irqrestore(&ioapic_lock, flags); } -#if defined(CONFIG_SMP) +#if defined(CONFIG_IRQBALANCE) # include /* kernel_thread() */ # include /* kstat */ # include /* kmalloc() */ @@ -666,8 +666,6 @@ static int __init irqbalance_disable(cha __setup("noirqbalance", irqbalance_disable); -static void set_ioapic_affinity (unsigned int irq, unsigned long mask); - static inline void move_irq(int irq) { /* note - we hold the desc->lock */ @@ -679,9 +677,9 @@ static inline void move_irq(int irq) __initcall(balanced_irq_init); -#else /* !SMP */ +#else /* !IRQBALANCE */ static inline void move_irq(int irq) { } -#endif /* defined(CONFIG_SMP) */ +#endif /* defined(IRQBALANCE) */ /*