* 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.
i.e. executing a softirq in a process context gives us all the
advantages of a process context: all the local state is saved and
preserved until the preemption is done. These advantages are not there
for either immediate or idle-task-only-immediate type of softirq
processing.
Ingo