Ingo Molnar wrote:
* Nick Piggin <nickpiggin(a)yahoo.com.au> wrote:
You wouldn't need to do this to break out of
interrupt context
softirqs because you wouldn't bother returning to it. Just hand the
work off to ksoftirqd.
this is plainly not the case. Look at eg. the net_tx_action() lock-break
i did in the -I1 patch. There we first create a private queue which we
work down. With my approach we can freely reschedule _within the loop_.
With your suggestion this is not possible.
Sorry I missed that. Yeah if you are seeing high latencies *within*
a single softirq then my thing obviously wouldn't work.
If they're as high as a couple of ms on your 2GHz machine, then they
definitely shouldn't be processed in the interrupt path, so yeah
doing them in process context is the best thing to do.