Re: [RFC][PATCH] Convert alpha to use clocksource

From: Ivan Kokshaysky
Date: Fri Mar 19 2010 - 06:07:37 EST


On Thu, Mar 18, 2010 at 03:19:18PM -0700, john stultz wrote:
> On Fri, 2010-03-19 at 00:40 +0300, Ivan Kokshaysky wrote:
> > Yeah, that looks cool. I'm typing this on the 800MHz UP1500 running
> > 2.6.34-rc1 plus your patch, and the timekeeping works fine so far.
>
> Nice! Thanks for testing! Another benefit that I forgot to mention, is
> that NTP adjustments will be made directly against the counter, instead
> of being made against the tick. This avoids possible small errors at
> tick time if the intertick interval doesn't match the actual tick
> length.
>
>
> > Though, even after a glance over the clocksource code, I've not
> > gotten yet to how one could estimate the "shift" value...
> > Any hints?
>
> Yea, selecting a good shift is obnoxious. You want to pick the largest
> value of shift, so that it can be finely adjusted by ntp, but that
> creates large mult values, which can cause overflows for large cycle
> intervals.
>
> A function to solve this was actually recently added, but simply I
> forgot to use it. :P

Understood. ;-)

> I actually should rework the register function so you just give it a
> clocksource and a freq and it sets up both mult and shift for you.
>
>
> > And if I recall correctly, production alphas have been clocked
> > in the range of 60-1250 MHz.
>
> Cool. The shift value I picked should be ok then. But below is an
> updated version that uses the self-calculated method.

Excellent. Thanks a lot!

> >From 078e91d14cb5e82a3fab00cf74faf45f44336590 Mon Sep 17 00:00:00 2001
> From: John Stultz <johnstul@xxxxxxxxxx>
> Date: Wed, 17 Mar 2010 12:43:11 -0700
> Subject: [PATCH] Convert alpha to use clocksources instead of arch_gettimeoffset
>
> Alpha has a tsc like rpcc counter that it uses to manage time.
> This can be converted to an actual clocksource instead of utilizing
> the arch_gettimeoffset method that is really only there for legacy
> systems with no continuous counter.
>
> Further cleanups could be made if alpha converted to the clockevent model.
>
> I've not tested or compiled this code. Any help from the maintainers would
> be greatly appreciated
>
> CC: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
> CC: Richard Henderson <rth@xxxxxxxxxxx>
> CC: Ivan Kokshaysky <ink@xxxxxxxxxxxxxxxxxxxx>
> CC: Matt Turner <mattst88@xxxxxxxxx>
> Signed-off-by: John Stultz <johnstul@xxxxxxxxxx>

Acked-by: Ivan Kokshaysky <ink@xxxxxxxxxxxxxxxxxxxx>
Tested-by: Ivan Kokshaysky <ink@xxxxxxxxxxxxxxxxxxxx>

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