calcru: time went backwards

Jeremy Chadwick koitsu at freebsd.org
Fri Apr 18 15:29:57 UTC 2008


On Fri, Apr 18, 2008 at 04:51:50PM +0300, Pertti Kosunen wrote:
> Larry Rosenman wrote:
>> On Tue, 15 Apr 2008, Jeremy Chadwick wrote:
>>> And what the FAQ doesn't cover is here:
>>>
>>> http://wiki.freebsd.org/JeremyChadwick/Commonly_reported_issues
>>>
>>> * EIST (Intel SpeedStep) incompatibilities with Supermicro PDSMI+ 
>>> motherboards (and possibly others)
>>>    * Symptom: kernel outputs messages like kernel: calcru: negative 
>>> runtime of -XXXXX usec for pid XX
>>>    * Workaround: Disable the EIST feature in the BIOS. You can still 
>>> achieve ACPI-based processor
>>>      frequency throttling by using powerd(8).
>>>    * Reference: 
>>> http://lists.freebsd.org/pipermail/freebsd-questions/2006-October/133253.html
>> What I find interesting is I hadn't seen these until this kernel update :(
>
> Same problem here with Tyan Toledo i3000R (S5191) motherboard if cpufreq 
> module is loaded.
>
> 7.0-RELEASE (AMD64) didn't have this problem.

Are you absolutely positive about this (re: amd64 not having the
problem)?  I can reproduce the issue documented in my Wiki page on i386
or amd64.  The piece that seems to cause it, at least in the case of the
PDSMI+, is EIST being enabled in the BIOS.

For example, this is my a PDSMI+ system (amd64), which exhibits the
problem (when EIST is enabled).  EIST in the BIOS is disabled here:

est0: <Enhanced SpeedStep Frequency Control> on cpu0
est: CPU supports Enhanced Speedstep, but is not recognized.
est: cpu_vendor GenuineIntel, msr 928092806000928
device_attach: est0 attach returned 6
est1: <Enhanced SpeedStep Frequency Control> on cpu1
est: CPU supports Enhanced Speedstep, but is not recognized.
est: cpu_vendor GenuineIntel, msr 928092806000928
device_attach: est1 attach returned 6

powerd(8) is running and working perfectly, as shown below.  Look closely
at dev.cpu.0.freq and freq_levels:

# ps -auxw | grep powerd
root      714  0.0  0.1  5628  1172  ??  Ss   Wed04AM   0:10.08 /usr/sbin/powerd -p 2000
# sysctl -a | grep dev.cpu.0.freq
dev.cpu.0.freq: 297
dev.cpu.0.freq_levels: 2382/-1 2084/-1 1786/-1 1488/-1 1191/-1 893/-1 595/-1 297/-1

Under heavy load, the frequency gradually steps/climbs to 2382MHz as
expected.  During this time, absolutely no negative runtime messages
appear (and have never appeared).

If I reboot the box, enable EIST in the BIOS, and start FreeBSD,
negative runtime messages begin almost immediately.

-- 
| Jeremy Chadwick                                    jdc at parodius.com |
| Parodius Networking                           http://www.parodius.com/ |
| UNIX Systems Administrator                      Mountain View, CA, USA |
| Making life hard for others since 1977.                  PGP: 4BD6C0CB |



More information about the freebsd-stable mailing list