I donīt know what the initial reasoning for "500/HZ" was, but I think
the value for tickadj is way too small in the Linux kernels.
(tickadj limits the speed of a adjtime() system call)
The current rate is 0.5ms per second. Thus a correction of 128ms
needs 256s, almost 5 minutes. A correction of one second (not unusual
if the computer was powered down for a day) almost needs half an hour.
The current rate of 0.05% (500PPM) is too slow in most cases. Many
systems use much larger values.
I'm suggesting to boost the value of tickadj by a factor of 100.
Therefore tickadj will be 50000/HZ, 500 for i386. This will result in
a correction of 50ms per second (5%).
(My PPSkits added the ability to adjust the value of tickadj during
runtime, but we need a reasonable default for most cases. BTW:
thereīs an additional patch to fix compilation problems on i386 with
PPSkit-0.6.0: PPSkit-0.6.0-add-1.diff.gz, available at the usual
sites since this morning)
I'm not subscribed to this list, but I'm willing to accept any
contributions regarding this thread. If nobody objects, I'll put a
higher value in the next PPSkit, and finally I'll suggest a patch for
the stable kernel.
Regards,
Ulrich
P.S.: I'm suggesting to merge PPSkit-0.6 into the upcoming Linux 2.3
tree. Currently FreeBSD is way ahead in timekeeping (according to Mr
Mills and Mr. Kamp)...
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/