On Wed, Aug 21, 2002 at 06:37:25PM -0400, Charles R. Anderson wrote:
The hardware clock is only read during boot, so that couldn't be it...
hmmm.
The system clock keeps time by the system timer interrupt, I believe. The timer interrupt is generated by the system's RTC chip. On x86 platforms it is fixed at 100 Hz (only Alpha uses a different value--1024 Hz). I remember reading that the HZ timer could be changed on any platform now, but maybe that was for 2.5 only.
That's about right, a quick 'while(1){grep ' 0' /proc/interrupts;sleep 1}' shows ~101 per second, with the overhead of doing the fork/grep...
Take a look at IRQ 0 in /proc/interrupts. Take a sampling of values over time, and figure out how many interrupts there are per second. Maybe that will shed some light on this...
I have a script checking per second and reporting if the differences is 90 > diff > 110. I figure a 2% skew in a second isn't horribly bad. Over 5 minutes, and nothing was displayed. :( -- Randomly Generated Tagline: "BUGS: This manpage is confusing." - man page for getopt