* David S. Miller <[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.
as long as it stays on a single CPU, could we allow softirq contexts to preempt each other? I.e. we'd keep the per-CPU assumption (that is fair and needed for performance anyway), but we'd allow NET_TX to preempt NET_RX and vice versa. Would this corrupt the rx/tx queues? (i suspect it would.) (anyway, by adding an explicit no-preempt section around the 'take current rx queue private, then process it' on PREEMPT_RT it could be made safe. I'm wondering whether there are any other deeper assumptions about atomic separation of softirq contexts.) Ingo - 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/