Date: Tue, 27 Feb 2007 17:34:23 +0000 From: "Poul-Henning Kamp" <phk@phk.freebsd.dk> To: Eric Anderson <anderson@freebsd.org> Cc: freebsd-current@freebsd.org Subject: Re: too short/too long (sys/kern_tc.c) Message-ID: <39154.1172597663@critter.freebsd.dk> In-Reply-To: Your message of "Tue, 27 Feb 2007 08:00:36 CST." <45E43984.4020809@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
In message <45E43984.4020809@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@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.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?39154.1172597663>