Re: queue_work from interrupt Real time preemption2.6.11-rc2-RT-V0.7.37-03

From: Mark Gross
Date: Thu Feb 17 2005 - 11:26:32 EST


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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/