^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
^^^^^^^^^^^^^^^^^^
i know that pretty well ;)
as i said above (see the underlined sentence), hardirq contexts already
run just fine with hardirqs enabled. So your dismissal of executing that
'hairy' bit in hardirq context is not that automatically true as you
seem to assume i think.
also, network softirq locking dependencies arent all that magic or
complex either: they do not operate on sockets that are already locked
by a user context, they are per CPU and they are not preempted by
'themselves', nor are they preempted by certain other softirqs (such as
they are not preempted by the timer softirq). Am i missing some point of
yours?
Ingo
-