freebsd-mobile Digest, Vol 539, Issue 2

Ian Smith smithi at nimnet.asn.au
Fri Feb 6 09:49:53 UTC 2015


On Wed, 4 Feb 2015 08:34:37 -0700, Warner Losh wrote:
 > > On Feb 4, 2015, at 5:06 AM, Ian Smith <smithi at nimnet.asn.au> wrote:
 > > 
 > > On Wed, 4 Feb 2015 10:08:48 +0100, Lars Engels wrote:
 > >> On Wed, Feb 04, 2015 at 09:27:59AM +0200, PeerCorps Trust Fund wrote:
 > >>> Hi Lars,
 > >>> 
 > >>> Would you mind sharing what you are using for your powerd settings?
 > >> 
 > >> Sure. I followed the power saving tips from
 > >> https://wiki.freebsd.org/TuningPowerConsumption
 > >> and additionally run powerd with 
 > >> 
 > >> powerd_flags="-a hiadaptive -b hiadaptive"
 > > 
 > > Lars, are you running that with p4tcc and acpi_throttle both disabled?
 > > 
 > > That is, what says `sysctl dev.cpu.0.freq_levels`?
 > > 
 > > On my X200 it's '2401/35000 2400/35000 1600/15000 800/12000' and I found 
 > > hiadaptive rather aggressive, where adaptive works fine for my use - but 
 > > of course everybody's use is different :)
 > > 
 > > powerd_flags="-a adp -b adp -i 70 -r 90"
 > 
 > The X+1 number (in this case 2401) is the turbo-mode speed. If you use X, it disables
 > the Turbo mode which causes the CPU to run faster until it gets too hot. On my T400, I
 > found that if I limit powerd to X instead of X+1, I have fewer heat related issues when
 > Iÿÿm doing things like building a kernelÿÿ

That's very interesting.  I trolled through (9.3-R) /sys/ looking for 
mentions of (-i) 'turbo' and after excluding all the ieee80211, ath and 
assorted other non-CPU stuff, found nothing relevant, except perhaps(?):

/sys/dev/hwpmc/pmc_events.h:__PMC_EV_ALIAS("TURBO_MODE.CORE_0", UCP_EVENT_84H_01H)
/sys/dev/hwpmc/pmc_events.h:__PMC_EV_ALIAS("TURBO_MODE.CORE_1", UCP_EVENT_84H_02H)
/sys/dev/hwpmc/pmc_events.h:__PMC_EV_ALIAS("TURBO_MODE.CORE_2", UCP_EVENT_84H_04H)
/sys/dev/hwpmc/pmc_events.h:__PMC_EV_ALIAS("TURBO_MODE.CORE_3", UCP_EVENT_84H_08H)

(which are only listed under Haswell, this one being Core2 Duo)

/sys/{i386,amd64}/include/specialreg.h:#define CPUTPM1_TURBO   0x00000002

(which are: * Important bits in the Thermal and Power Management flags
 * CPUID.6 EAX and ECX.)

So where can I find out some more about this?  I'd have thought cpufreq?
Or maybe this is only in 10.x, or head?

On my X200, running 2 x 'dd if=/dev/random of=/dev/null &' gets both 
cores busy enough, but - with ambient about 28C - I can't drive it over 
79C (at 2401) after 15 min; way below hw.acpi.thermal.tz1._PSV: 91.5C

last pid: 53384;  load averages:  1.89,  1.76,  1.41     up 83+18:22:30  14:34:44
233 processes: 6 running, 205 sleeping, 22 waiting
CPU 0:  1.7% user,  0.1% nice, 98.3% system,  0.0% interrupt,  0.0% idle
CPU 1:  1.4% user,  0.0% nice, 98.1% system,  0.0% interrupt,  0.5% idle

root at x200:~ # x200stat
Fri Feb  6 14:34:58 EST 2015 dev.cpu.0.freq: 2401
0.03% 1.22% 98.74% last 194us    { 1.77 1.74 1.41 }
0.36% 0.82% 98.80% last 2us      { HPET }
dev.acpi_ibm.0.fan_speed: 3762
dev.acpi_ibm.0.fan_level: 0
dev.acpi_ibm.0.thermal: 79 45 -1 69 34 -1 32 -1
hw.acpi.thermal.tz0.temperature: 79.0C
hw.acpi.thermal.tz1.temperature: 76.0C

So I suspect -M 2400 won't help here (but I'll test it anyway, to try 
determining how much faster 2401 does some fixed task like a long dd)

cheers, Ian


More information about the freebsd-mobile mailing list