* 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/

Reply via email to