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

Daniel Walker
2009-06-02T11:49:35Z

On Tue, 2009-06-02 at 16:54 +0900, Paul Mundt wrote:
> unsigned long long __attribute__((weak)) sched_clock(void)
> {
> - return (unsigned long long)(jiffies - INITIAL_JIFFIES)
> - * (NSEC_PER_SEC / HZ);
> + unsigned long long time;
> + struct clocksource *clock;
> +
> + rcu_read_lock();
> + clock = rcu_dereference(sched_clocksource);
> + time = cyc2ns(clock, clocksource_read(clock));
> + rcu_read_unlock();
> +
> + return time;
> }

My concerns with the locking here still stand. Nothing you've said or
done bolsters the clocksource in modules argument. I think what your
planning for sh clocksources seems very inelegant. I would imagine a
better solution is out there. I'd prefer if you just leave sched_clock
alone.

Daniel