kern/133985: kern.cp_time returns all zeros and stops incrementing
on some hardware
cmb at pfsense.org
Fri Apr 24 23:50:04 UTC 2009
>Synopsis: kern.cp_time returns all zeros and stops incrementing on some hardware
>Arrival-Date: Fri Apr 24 23:50:03 UTC 2009
>Originator: Chris Buechler
# uname -a
FreeBSD 7.1-RELEASE-p5 FreeBSD 7.1-RELEASE-p5 #0: Wed Apr 22 15:12:17 EDT 2009 sullrich at RELENG_1_2-snapshots.pfsense.org:/usr/obj.pfSense/usr/pfSensesrc/src/sys/pfSense.7 i386
We use kern.cp_time to calculate CPU usage, and a number of users are reporting problems.
Sometimes kern.cp_time returns all zeros for periods of time. Sometimes it works to a point, 30-45 minutes or so, then stops incrementing and doesn't do so again until the system is rebooted.
Most of the systems exhibiting this behavior are 440BX Pentium II motherboards. They worked fine in a FreeBSD 6.2-based pfSense release and stopped working after upgrading to 7.0 or 7.1-based releases. Some output from kern.cp_time here:
This definitely seems like a hardware-specific regression from 6.2 to 7.0 and 7.1. Not sure what other information might be helpful, I'm glad to help obtain anything that may help. Thanks
Boot 7.0 or 7.1 on an affected system and wait 30-45 minutes and the cp_time values will stop incrementing.
Run it repeatedly and you'll see all zeros being returned at times on affected hardware.
More information about the freebsd-bugs