On Thursday 17 February 2005 06:57, Steven Rostedt wrote: > On Thu, 17 Feb 2005, Ingo Molnar wrote: > > 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, > > Wouldn't this cause a longer latency in these sections. I understand > that turning preemption off doesn't stop interrupts that are not > threaded, but especially on a UP, this would cause higher latencies for > high priority processes when a lower priority process is heavy on network > traffic. > > As I mentioned earlier, what would it take to be able to group > softirq threads that should not preempt each other, but still keep > preemption available for other threads?
It would only take the creationt of multiple softIRQd threads per CPU. Just keep net_rx and net_tx in the same work queue. > > Actually, I guess I need to ask, what do you intend on doing to prioritize > the softirq? Are you going to make a separate thread for each tasklet? > Once I see what you're doing, I'll make something up to help handle this > problem. > > -- Steve - 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/