Delays, clocks, timers, hrtimers, etc

Stephen Boyd sboyd at
Mon Feb 9 15:17:14 PST 2015

On 02/09/15 14:31, Mason wrote:
> My platform provides a 32-bit counter, ticking at a constant 27 MHz.
> Reading this counter has a latency of roughly 70 ns (it has to go
> over the system memory bus). I think this is good enough for both
> the clock source and sched_clock, is it not?
> So the plan would be:
> - clocksource and sched_clock : 27 MHz, 32-bit counter, platform
> - clockevents : TWD, standard

Yep, that sounds like a good plan. If your platform has the ARM global
timer (drivers/clocksource/arm_global_timer.c) then you don't need
anything besides that timer because it provides both the clocksource,
sched_clock, and clockevents. Sounds like you don't have that timer
though, so you have to write a driver for your custom platform timer and
at least hook up clocksource and sched_clock to it. If you have
interrupts with your platform timer you can skip out on TWD and also
register a clockevent in your platform timer driver.

Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project

More information about the linux-arm-kernel mailing list