On Wed, 16 Feb 2005 06:16:45 +0100 Ingo Molnar <[EMAIL PROTECTED]> wrote:
Maybe the networking stack would break if we allowed the TIMER softirq (thread) to preempt the NET softirq (threads) (and vice versa)?
The major assumption is that softirq's run indivisibly per-cpu. Otherwise the per-cpu queues of RX and TX packet work would get corrupted.
For what its worth, I, a short while ago, put together a workqueue package to a) allow easy priority setting for work queues and b) change either softirq, tasklet or bh code to use workqueues. This was done mostly with CPP macros and a few conversion routines. I then converted the network code to use this package simply by adding a key include to a couple of files. The result worked on UP but ended up hanging the network code on SMP. Everything else still worked, but not the net stuff. I never ran down the problem as the "boss" was not interested in SMP...
George
-- George Anzinger george@mvista.com High-res-timers: http://sourceforge.net/projects/high-res-timers/
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/