> TUX also has per-cpu timers patch of Ingo as well.
> Did you forget this? :-)
If I remember correctly, it has threaded timer pool, but timers still acquire
global bh lock, so that the things become only worse. Apparently,
it is invisible at first sight because bulk work typical for tux and triggered
by timers, is moved to cpu local tasklets (garbage collection: time wait etc.).
> It is equivalent to some old dumb code doing cli() right?
Sort of.
> The only interesting global BHs left right now are:
>
> 1) Timers
> 2) SCSI BH
In generic server case, yes.
But also add BH_IMMEDIATE and BHs, used by hordes of devices.
> Timers have no hard technical reason for not being a softirq
> either. However, this would be work requiring real thought,
> not just mindless edits.
Yes.
But, in any case, global BHs are not a pathalogy: they were handy tool,
allowing to hide lots of spinlocks. And not plain spinlocks, but
asynchronous ones. It was pretty light, but had latency up to 1/HZ
in the worst case. Now they have unreasonably strict latency
(useless, as rule) but eat cpu instead.
Alexey
-
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/