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