[x86] apic timer tick interval is not so accurate in periodic mode
From: Kevin Hao
Date: Wed Aug 20 2008 - 05:37:14 EST
Hi all,
I found the apic timer tick interval is not so accurate when it works
in periodic mode(CONFIG_HIGH_RES_TIMERS=N).
But in one-shot mode(CONFIG_HIGH_RES_TIMERS=Y) it works well.
I tested it on a Dell390 pc. HZ is 250. Kernel version is 2.6.27-rc3.
The following is the result:
In periodic mode:
tick = 1, apic tick timer interval is 4020211
tick = 1, apic tick timer interval is 4020233
tick = 1, apic tick timer interval is 4020233
tick = 1, apic tick timer interval is 4020199
tick = 1, apic tick timer interval is 4020267
tick = 1, apic tick timer interval is 4020218
tick = 1, apic tick timer interval is 4020278
tick = 1, apic tick timer interval is 4020173
In one-shot mode:
tick = 1, apic tick timer interval is 3999930
tick = 1, apic tick timer interval is 4000035
tick = 1, apic tick timer interval is 3999998
tick = 1, apic tick timer interval is 4000005
tick = 1, apic tick timer interval is 4000001
tick = 1, apic tick timer interval is 4000009
tick = 1, apic tick timer interval is 3999945
tick = 1, apic tick timer interval is 4000024
tick = 1, apic tick timer interval is 4000005
Why is there so big difference between these two mode?
The attachment is my test program and config file.
Any comments is appreciated .
Thanks,
Kevin
Attachment:
test.diff
Description: Binary data
Attachment:
config
Description: Binary data