Originally it was a cpu_raise_softirq, but David asked to put the __ so
Linus added the comment as well:
/* Runs from irqs or BH's, no need to wake BH */
At that time I checked loopback that runs under the bh so it's ok too.
> So, this must be repaired in some way.
Yes. If ethertap or others runs outside bh and irq they could use if
(pending) do_softirq by hand (or as worse wakeup ksoftirqd by hand)
after netif_rx.
> Actually, assumption that local_bh_enable() etc does not happen
> with disabled irq was the biggest hole in Ingo's patch: all the functions
I hoped it was never the case because when you serialize against bh it's
because you are using the bh logic instead of irqs and the whole point
of the bh logic is to left irq enabled. but I'm not surprised some
problem actually triggered because of this change.
Andrea
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/