Re: [PATCH/RFC] msleep() with hrtimers

Ingo Molnar
2007-07-16T16:10:46Z

* Roman Zippel <zippel@linux-m68k.org> wrote:

> I know that Ingo considers everything HZ related evil, [...]

no, you are misrepresenting me, i dont consider everything HZ related
evil - where did you get that from?

I explained it numerous times (remember the 'timeout' vs. 'timer event'
discussion?) that i consider timer granularity important to scalability.
Basically, in every case where we know with great certainty that a
time-out will _not_ occur (where the time-out is in essence just an
exception handling mechanism), using struct timer_list is the best
solution. Furthermore, in cases where we know that the "granularity" of
a timer event is coarse, we can 'cluster' related timer events together.
(Arjan's timeout-rounding API additions do that.)

msleep() API is neither, and it's a perfect example for conversion to
hrtimers. It is exactly the type of timer API we intended hrtimers for.

what i consider harmful on the other hand are all the HZ assumptions
embedded into various pieces of code. The most harmful ones are design
details that depend on HZ and kernel-internal API details that depends
on HZ. Yes, NTP was such an example, and it was hard to fix, and you
didnt help much with that. (perhaps that is one source of this
increasingly testy exchange ;-) In any case we are slowly and surely
eradicating them. (we long ago eradicated all externally visible HZ
dependencies via the introduction of USER_HZ)

Ingo