Messages in this thread | | | Subject | Re: [PATCH] sched: Support current clocksource handling in fallback sched_clock(). | From | john stultz <> | Date | Tue, 26 May 2009 13:23:43 -0700 |
| |
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@linux-sh.org>: > > > > > */ > > > 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
| |