too short/too long (sys/kern_tc.c)
Poul-Henning Kamp
phk at phk.freebsd.dk
Tue Feb 27 17:34:26 UTC 2007
In message <45E43984.4020809 at freebsd.org>, Eric Anderson writes:
>When I boot a -CURRENT box with boot verbose enabled inside qemu, I see
>one of these messages about every second:
>
>15.f68c5ee76faebe10 too short
>16.0f822e13092c5580 too long
This is a symptom of lousy scheduling or even worse interrupt
latency.
In your case +0.060/-0.036 sec per 16 seconds or a couple of percent
in relative terms. (The printf is counter intuitive: the integer
part is in decimal).
I will readily admit that the 1/256 of a second limit is chosen
pretty much at random, but with an eye to allowing a division
by 16 to get close the right result.
All of this futz is of course to avoid floating point in the kernel.
As to why: My main suspect would be the BIOS/ACPI/SMM code, with
a keen eye to the new interrupt filtering code and what it might
do to the clock/scheduling interrupts.
--
Poul-Henning Kamp | UNIX since Zilog Zeus 3.20
phk at FreeBSD.ORG | TCP/IP since RFC 956
FreeBSD committer | BSD since 4.3-tahoe
Never attribute to malice what can adequately be explained by incompetence.
More information about the freebsd-current
mailing list