cvs commit: src/share/man/man4 coretemp.4 src/sys/dev/coretemp
coretemp.c
Nate Lawson
nate at root.org
Sun Oct 14 11:48:27 PDT 2007
Alexander Leidinger wrote:
> netchild 2007-10-14 10:59:44 UTC
>
> FreeBSD src repository
>
> Modified files:
> share/man/man4 coretemp.4
> sys/dev/coretemp coretemp.c
> Log:
> Convert coretemp(4) to the hardware sensors framework and
> make sure to never call sched_bind() for uninitialised CPUs.
>
> Submitted by: Constantine A. Murenin <cnst at FreeBSD.org>
> Sponsored by: Google Summer of Code 2007 (GSoC2007/cnst-sensors)
> Mentored by: syrinx
> Tested by: many
> OKed by: kensmith
>
> Revision Changes Path
> 1.2 +14 -6 src/share/man/man4/coretemp.4
> 1.3 +46 -35 src/sys/dev/coretemp/coretemp.c
> - thread_lock(curthread);
> - sched_unbind(curthread);
> - thread_unlock(curthread);
> + * Bind to specific CPU to read the correct temperature.
> + * If not all CPUs are initialised, then only read from
> + * cpu0, returning -1 on all other CPUs.
> + */
> + if (smp_cpus > 1) {
> + thread_lock(curthread);
> + sched_bind(curthread, cpu);
> + msr = rdmsr(MSR_THERM_STATUS);
> + sched_unbind(curthread);
> + thread_unlock(curthread);
> + } else if (cpu != 0)
> + return (-1);
> + else
> + msr = rdmsr(MSR_THERM_STATUS);
I reviewed this part of the patch for Rui Paulo and told him to use
smp_active instead of smp_cpus > 1.
--
Nate
More information about the cvs-src
mailing list