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

Thomas Gleixner
2009-06-02T20:22:20Z

On Tue, 2 Jun 2009, Daniel Walker wrote:
> 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

Can you please stop to belabor modules? Again, it is totally
_irrelevant_ whether the clocksource is in a module or not.

unregister_clocksource() can be called from compiled in code as well
to replace a clocksource which is physically shut down. We have to
deal with that modules or not.

Thanks,

tglx