cvs commit: src/sys/i386/i386 p4tcc.c src/sys/conf files.i386 options.i386 src/sys/i386/conf NOTES

Maxim Sobolev sobomax at portaone.com
Tue Jan 20 14:16:44 PST 2004


Nate Lawson wrote:

> On Mon, 19 Jan 2004, Maxim Sobolev wrote:
> 
>>Nate Lawson wrote:
>>
>>>On Sun, 18 Jan 2004, Maxim Sobolev wrote:
>>>
>>>
>>>> FreeBSD src repository
>>>>
>>>> Modified files:
>>>>   sys/conf             options.i386 files.i386
>>>>   sys/i386/conf        NOTES
>>>> Added files:
>>>>   sys/i386/i386        p4tcc.c
>>>> Log:
>>>> Add new CPU_ENABLE_TCC option, from NOTES:
>>>>
>>>> CPU_ENABLE_TCC enables Thermal Control Circuitry (TCC) found in some
>>>> Pentium(tm) 4 and (possibly) later CPUs. When enabled and detected,
>>>> TCC allows to restrict power consumption by using machdep.cpuperf*
>>>> sysctls. This operates independently of SpeedStep and is useful on
>>>> systems where other mechanisms such as apm(4) or acpi(4) don't work.
>>>>
>>>> Given the fact that many, even modern, notebooks don't work properly
>>>> with Intel ACPI, this is indeed very useful option for notebook owners.
>>>>
>>>> Obtained from:  OpenBSD
>>>> MFC after:      2 weeks
>>>
>>>I can't seem to see where this was posted before committing.  Please
>>>coordinate power/thermal management code with me.  I have an upcoming
>>>cpufreq driver that will encapsulate all of these machdep CPU control
>>>drivers, including SpeedStep and LongRun.  It's not dependent on ACPI
>>>although ACPI can use it for passive cooling.  Also, your driver should
>>>use /etc/power_profile to set a sysctl, not proliferate
>>>performance/economy sysctls.  Drop me a private email and we can figure
>>>out how to coordinate.
>>
>>Sorry, I did not know that you are working on this. Please feel free to
>>take p4tcc support and integrate it into your framework.
> 
> 
> When I merge in the cpufreq layer, I will convert existing drivers to use
> it, including yours.  For instance, we already have a LongRun driver.  At
> a minimum, I ask that you change the sysctl from "machdep.cpuperf.*" to
> "machdep.p4tcc.*" or whatever since cpuperf is too generic a term for a
> P4-only driver.  This will also make RELENG_4 less ambiguous if you MFC
> it.  I hope to have cpufreq committed before 5.3 and thus the p4tcc
> sysctls won't make it into a release.

Ok, will do. BTW, I really dislike the way how LongRun power driver is 
plastered into identcpu.c - it really doesn't belong there. At the very 
least, it should be conditionalised in I686_CPU or whatever CPU class 
crusoe belongs. Also it should be opt-in, not mandatory, since it is 
uselless to 99.9% of our users anyway.

-Maxim



More information about the cvs-src mailing list