Re: [patch] change futex_wait() to hrtimers

From: Ingo Molnar
Date: Mon Mar 12 2007 - 07:29:30 EST



* Andi Kleen <andi@xxxxxxxxxxxxxx> wrote:

> > if HIGH_RES_TIMERS is disabled then that is what happens. But
> > frankly,
>
> disabled? I would expect it (= more wakeups) when hrtimers are
> enabled.

i mean the groupping of timer expiries happens automatically when
high-res is disabled. When high-res is asked for then, duh, it's enabled
and you get precise timeouts ;-)

> > most futex waits are without timeouts - if an application cares
> > about micro-effects like that then you are much better off not using
> > a per-futex timeout anywa
>
> That sounds like you're arguing for not using hrtimers here because
> the applications shouldn't depend on precise timeouts here anyways?!?

I was talking about the "micro-effect" of grouping timer expiries.

> Anyways when you convert more kernel timeouts to hrtimers you should
> probably add some kind of batching facility that can be globally
> configured with a sysctl or similar. Then at least laptops (and
> possibly servers) can opt for more power saving again. For the futexes
> alone it probably won't matter too much agreed, but I see a trend to
> more hr.

yeah, we had that in earlier versions, it's trivial - nobody used it. So
i'll wait for the actual measurements and a patch (or i can do the patch
too, if someone comes up with the measurements). I've added
/proc/timer_stats and /proc/timer_info for exactly such reasons.

( note that we've added the facility for even more imprecise sleeps to
the timer_list APIs - but for hrtimers it's a lot less clear-cut case. )

Ingo
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/