Re: [PATCH] sched: Support current clocksource handling infallback sched_clock().

From: john stultz
Date: Tue May 26 2009 - 16:24:05 EST


On Tue, 2009-05-26 at 16:38 +0200, Peter Zijlstra wrote:
> Added the generic clock and timer folks to CC.
>
> On Tue, 2009-05-26 at 16:31 +0200, Linus Walleij wrote:
> > 2009/5/26 Paul Mundt <lethal@xxxxxxxxxxxx>:
> >
> > > */
> > > unsigned long long __attribute__((weak)) sched_clock(void)
> > > {
> > > + /*
> > > + * Use the current clocksource when it becomes available later in
> > > + * the boot process, and ensure that it has a high enough rating
> > > + * to make it suitable for general use.
> > > + */
> > > + if (clock && clock->rating >= 100)
> > > + return cyc2ns(clock, clocksource_read(clock));

I'm not super familiar with the recent sched_clock changes, but how will
this work if the clocksource wraps (ACPI PM wraps every 2-5 seconds).

Also there's no locking here, so the clocksource could change under you.

Further, checking for rating being greater then 100 really doesn't mean
anything. Probably need to check if the clocksource is continuous
instead.

Overall, I'd probably suggest thinking this through a bit more. At some
point doing this right will cause sched_clock() to be basically the same
as ktime_get(). So why not just use that instead of remaking it?

thanks
-john


--
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/