kern/124939: Early loaded k8temp doesn't create dev.cpu.N.temperature

Christian Weisgerber naddy at FreeBSD.org
Tue Jun 24 14:50:02 UTC 2008


>Number:         124939
>Category:       kern
>Synopsis:       Early loaded k8temp doesn't create dev.cpu.N.temperature
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Tue Jun 24 14:50:01 UTC 2008
>Closed-Date:
>Last-Modified:
>Originator:     Christian Weisgerber
>Release:        FreeBSD 8.0-CURRENT
>Organization:
>Environment:
FreeBSD lorvorc.mips.inka.de 8.0-CURRENT FreeBSD 8.0-CURRENT #0: Sun Jun 22 18:49:04 CEST 2008     naddy at lorvorc.mips.inka.de:/usr/obj/usr/src/sys/GENERIC  amd64

>Description:
If the k8temp(4) driver is loaded as a module early on from /boot/loader.conf, it fails to create the dev.cpu.N.temperature entries in the sysctl tree.

dmesg shows this attach order:

..
k8temp0: <AMD K8 Thermal Sensors> on hostb3
acpi_hpet0: <High Precision Event Timer> iomem 0xfefff000-0xfefff3ff on acpi0
Timecounter "HPET" frequency 25000000 Hz quality 900
cpu0: <ACPI CPU> on acpi0
powernow0: <PowerNow! K8> on cpu0
cpu1: <ACPI CPU> on acpi0
powernow1: <PowerNow! K8> on cpu1
..

Apparently k8temp attaches right _before_ cpu and thus can't add its entries to the dev.cpu subtree, which doesn't exist yet.  Note that the dev.k8temp subtree is correctly created.

If k8temp.ko is loaded manually after the system has booted, all entries are properly created.

>How-To-Repeat:
# echo 'k8temp_load="YES"' >>/boot/loader.conf
# reboot
..
# sysctl dev.cpu

>Fix:


>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-bugs mailing list