Dear, On Tue, Apr 26, 2011 at 10:05 PM, Mulyadi Santosa <mulyadi.santosa@gmail.com> wrote:
Dear Vikram...
On Tue, Apr 26, 2011 at 20:55, Vikram Narayanan <vikram186@gmail.com> wrote:
Hi,
I want to enable the dynamic tick aka tickless kernel feature for the BSP which I am developing. What are all the architecture dependent changes that needs to be done for implementing it.
To the best I know:
essentially, to achieve tickless ( also know as "no hz"), you need to reprogram your timer chip, so it just "shoot" whenever needed, not periodically. And sometimes, you need to round them up, i.e there are timers which expires in the next 10 ms, 11 ms and 15 ms...so effectively, better to make them expire at 15 ms if possible.
so, you need a way to detect the timer expiration (possibly by walking through active timer list) and decide when the timer chip needs to shoot interrupt. The rest of the change...of course...still needed further thinking....
NB: AFAIK In x86, HPET is a prerequisite to achieve tickless... maybe because reprogramming HPET is somewhat way faster than regular PIT I have read about the dynamic tick feature in lwn.net. When I see the source, it seems to have implemented only with the HPET timers. and also, these dynamic ticks are achieved with hrtimers nowadays. http://lxr.linux.no/#linux+v2.6.38/Documentation/timers/highres.txt#L204 Also I believe most of the implementation is moved to the arch independent part with the help of clocksource and clockevents. Do I need to enable hrtimers for enabling the dynamic tick feature.?
- Thanks Vikram
-- regards,
Mulyadi Santosa Freelance Linux trainer and consultant
blog: the-hydra.blogspot.com training: mulyaditraining.blogspot.com