Name: Fix cpu_raise_softirq() on Different CPU Author: Rusty Russell Status: Experimental Fix bug in cpu_raise_softirq: need to wake softirqd if it's a different cpu. diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal linux-2.5.72-bk2/kernel/softirq.c working-2.5.72-bk2-serial-protocols/kernel/softirq.c --- linux-2.5.72-bk2/kernel/softirq.c 2003-06-25 17:17:19.000000000 +1000 +++ working-2.5.72-bk2-serial-protocols/kernel/softirq.c 2003-06-25 14:55:15.000000000 +1000 @@ -130,7 +130,7 @@ inline void cpu_raise_softirq(unsigned i * Otherwise we wake up ksoftirqd to make sure we * schedule the softirq soon. */ - if (!in_interrupt()) + if (!in_interrupt() || cpu != smp_processor_id()) wakeup_softirqd(cpu); }