Hyper mode for powerd

Warren Block wblock at wonkity.com
Sun Jul 7 02:09:53 UTC 2013


On Sun, 7 Jul 2013, Ian Smith wrote:

> So even if cpu_running_mark were 100% (-r100), anything busier than 25%
> of our example 75MHz would shift to maximum freq immediately, where the
> load will likely plummet to just a few percent, way less than the 25%
> (at -r100) needed to keep it at that freq; ie it will most likely hunt.

It may do that, but if so it's doing it more quickly than is visible 
running powerd -a hyper -n hyper -v.

> You don't appear to be taking any notice of the -i idle percentage here;
> perhaps that would be a more useful shift-down criterion?  Even so, with
> a full house of frequencies, I can't see this being easy to tune as is.
>
> Show "sysctl -a | egrep 'freq|cx'" and we'll have something to chew on?
> And your powerd_flags setting?

/boot/loader.conf:
hint.p4tcc.0.disabled="1"
hint.acpi_throttle.0.disabled="1"
hw.acpi.cpu.cx_lowest="C3"

I've routinely used the first two since first reading about them, I 
think in another post by Kevin.

/etc/rc.conf:
powerd_flags="-a hyper -n hyper"
performance_cx_lowest="Cmax"
performance_cpu_freq="HIGH"

That grep provides a lot of unrelated "freq" stuff, so here's a guess at 
what you want to see:

hw.acpi.cpu.cx_lowest: C8
machdep.acpi_timer_freq: 3579545
machdep.i8254_freq: 1193182
machdep.tsc_freq: 3309792585
dev.cpu.0.freq: 3601
dev.cpu.0.freq_levels: 3601/300000 3600/300000 3500/300000 3400/300000 
3300/300000 3200/300000 3100/300000 3000/300000 2900/300000 2800/300000 
2700/300000 2600/300000 2500/300000 2400/247000 2300/224000 2200/202000 
2100/182000 2000/163000 1600/91000
dev.cpu.0.cx_supported: C1/1/1 C2/2/64 C3/3/96
dev.cpu.0.cx_lowest: C8
dev.cpu.0.cx_usage: 31.99% 64.88% 3.12% last 1203us
dev.cpu.1.cx_supported: C1/1/1 C2/2/64 C3/3/96
dev.cpu.1.cx_lowest: C8
dev.cpu.1.cx_usage: 37.14% 61.17% 1.68% last 11us
dev.cpu.2.cx_supported: C1/1/1 C2/2/64 C3/3/96
dev.cpu.2.cx_lowest: C8
dev.cpu.2.cx_usage: 36.06% 61.83% 2.09% last 3830us
dev.cpu.3.cx_supported: C1/1/1 C2/2/64 C3/3/96
dev.cpu.3.cx_lowest: C8
dev.cpu.3.cx_usage: 36.64% 61.02% 2.32% last 2us
dev.est.0.freq_settings: 3601/300000 3600/300000 3500/300000 3400/300000 
3300/300000 3200/300000 3100/300000 3000/300000 2900/300000 2800/300000 
2700/300000 2600/300000 2500/300000 2400/247000 2300/224000 2200/202000 
2100/182000 2000/163000 1600/91000
dev.est.1.freq_settings: 3601/300000 3600/300000 3500/300000 3400/300000 
3300/300000 3200/300000 3100/300000 3000/300000 2900/300000 2800/300000 
2700/300000 2600/300000 2500/300000 2400/247000 2300/224000 2200/202000 
2100/182000 2000/163000 1600/91000
dev.est.2.freq_settings: 3601/300000 3600/300000 3500/300000 3400/300000 
3300/300000 3200/300000 3100/300000 3000/300000 2900/300000 2800/300000 
2700/300000 2600/300000 2500/300000 2400/247000 2300/224000 2200/202000 
2100/182000 2000/163000 1600/91000
dev.est.3.freq_settings: 3601/300000 3600/300000 3500/300000 3400/300000 
3300/300000 3200/300000 3100/300000 3000/300000 2900/300000 2800/300000 
2700/300000 2600/300000 2500/300000 2400/247000 2300/224000 2200/202000 
2100/182000 2000/163000 1600/91000
dev.cpufreq.0.%driver: cpufreq
dev.cpufreq.0.%parent: cpu0
dev.cpufreq.1.%driver: cpufreq
dev.cpufreq.1.%parent: cpu1
dev.cpufreq.2.%driver: cpufreq
dev.cpufreq.2.%parent: cpu2
dev.cpufreq.3.%driver: cpufreq
dev.cpufreq.3.%parent: cpu3

This is an i5, with the "3601" being turbo mode.


More information about the freebsd-acpi mailing list