> below i've also attached a softirq.c patch against 2.6.8-rc2 that does > unconditional deferring. (this patch is of course not intended to be > merged upstream as-is, since normally we want to process softirqs > right after the irq context.)
i've got a more complete patch against vanilla 2.6.8-rc2: http://redhat.com/~mingo/voluntary-preempt/defer-softirqs-2.6.8-rc2-A2 which introduces the following tunable: /proc/sys/kernel/defer_softirqs (default: 0) this, if enabled, causes all softirqs to be processed within ksoftirqd, and it also breaks out of the softirq loop if preemption of ksoftirqd has been triggered by a higher-prio task. I've also added this additional break-out to the -H6 patch of voluntary-preempt: http://redhat.com/~mingo/voluntary-preempt/voluntary-preempt-2.6.8-rc2-H6 it's enabled by default. Ingo
