Different definition in div_sc and clocksource_cyc2ns

john stultz johnstul at us.ibm.com
Fri Mar 5 16:29:42 EST 2010


On Fri, Mar 5, 2010 at 1:14 PM, Lin Mac <mkl0301 at gmail.com> wrote:
> While working with the clocksource, I found that the relation of cycle
> and nanosecond of div_sc and clocksource_cyc2ns is different.
>
> linux-2.6.33
> div_sc in include/linux/clockchips.h suggests that clock_ticks =
> (nanoseconds * factor) >> shift.

> However, clocksource_cyc2ns in include/linux/clocksource.h suggest
> nanoseconds=(cycles*mult)>>shift.

You're comparing similar helper conversion functions from two
different subsystems.

Both use similar shifted math, but the div_sc() is for clockchips.h,
which is used by the clockevents code to trigger interrupts at a
specified time, while clocksource_cyc2ns() is for the clocksource
code, which converts  clockosurce cycles into nanoseconds for
timekeeping.


thanks
-john



More information about the linux-arm-kernel mailing list