RE: [PATCH] cpufreq, intel_pstate, set max_sysfs_pct and min_sysfs_pct on governor switch
From: Doug Smythies
Date: Wed Oct 07 2015 - 11:40:52 EST
On 2015.09.07 07:11 Prarit Bhargava wrote:
Hi Prarit,
> I have intel_pstate=no_hwp so that doesn't explain things. I will send you a
> printk debug patch shortly to figure out why your system doesn't see this
> problem. I have _6_ different variants of intel processors that see this same
> issue.
Interesting.
>
> What is your model #?
Intel(R) Core(TM) i7-2600K CPU @ 3.40GHz
While probably not relevant, it is the identical processor that the previous
maintainer of the intel_pstate driver had on his main test computer.
As mentioned in my original reply, I am using kernel 4.3-rc4
from kernel.org mainline.
For kernel configuration I steal the Ubuntu kernel config.
O.K. meanwhile your printk debug patch e-mail came:
On 2015.10.07 07:34 Prarit Bhargava wrote:
> Doug, please apply and test.
I never get the "store_min_perf_pct" stuff during startup.
I get:
[ 2.662092] Intel P-state driver initializing.
[ 2.662110] intel_pstate_set_policy[1001] min_perf_pct = 100
[ 2.681792] intel_pstate_set_policy[1001] min_perf_pct = 100
[ 2.681825] intel_pstate_set_policy[1001] min_perf_pct = 100
[ 2.681834] intel_pstate_set_policy[1001] min_perf_pct = 100
[ 2.681935] intel_pstate_set_policy[1001] min_perf_pct = 100
[ 2.681959] intel_pstate_set_policy[1001] min_perf_pct = 100
[ 2.682004] intel_pstate_set_policy[1001] min_perf_pct = 100
[ 2.682024] intel_pstate_set_policy[1001] min_perf_pct = 100
[ 80.044329] intel_pstate_set_policy[1020] min_perf_pct = 42
[ 80.044331] intel_pstate_set_policy[1023] min_perf_pct = 42
[ 80.044331] intel_pstate_set_policy[1028] min_perf_pct = 42
[ 80.044343] intel_pstate_set_policy[1020] min_perf_pct = 42
[ 80.044344] intel_pstate_set_policy[1023] min_perf_pct = 42
[ 80.044345] intel_pstate_set_policy[1028] min_perf_pct = 42
[ 80.044354] intel_pstate_set_policy[1020] min_perf_pct = 42
[ 80.044355] intel_pstate_set_policy[1023] min_perf_pct = 42
[ 80.044355] intel_pstate_set_policy[1028] min_perf_pct = 42
[ 80.044364] intel_pstate_set_policy[1020] min_perf_pct = 42
[ 80.044365] intel_pstate_set_policy[1023] min_perf_pct = 42
[ 80.044366] intel_pstate_set_policy[1028] min_perf_pct = 42
[ 80.044375] intel_pstate_set_policy[1020] min_perf_pct = 42
[ 80.044376] intel_pstate_set_policy[1023] min_perf_pct = 42
[ 80.044376] intel_pstate_set_policy[1028] min_perf_pct = 42
[ 80.044385] intel_pstate_set_policy[1020] min_perf_pct = 42
[ 80.044386] intel_pstate_set_policy[1023] min_perf_pct = 42
[ 80.044387] intel_pstate_set_policy[1028] min_perf_pct = 42
[ 80.044396] intel_pstate_set_policy[1020] min_perf_pct = 42
[ 80.044397] intel_pstate_set_policy[1023] min_perf_pct = 42
[ 80.044397] intel_pstate_set_policy[1028] min_perf_pct = 42
[ 80.044406] intel_pstate_set_policy[1020] min_perf_pct = 42
[ 80.044407] intel_pstate_set_policy[1023] min_perf_pct = 42
[ 80.044408] intel_pstate_set_policy[1028] min_perf_pct = 42
Note that the stuff at 80 seconds is from a startup script
that changes the governor to powersave after a 60 second delay.
It is an Ubuntu default script. (/etc/init.d/ondemand),
but merely does that same thing as this:
for file in /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor; do echo "powersave" > $file; done
I do not know why things are done 3 times.
Now, continuing:
echo 50 > /sys/devices/system/cpu/intel_pstate/min_perf_pct
[ 1411.436249] store_min_perf_pct[453] min_sysfs_pct = 50
[ 1411.436253] store_min_perf_pct[456] min_perf_pct = 50
[ 1411.436255] store_min_perf_pct[459] min_perf_pct = 50
[ 1411.436256] store_min_perf_pct[462] min_perf_pct = 50
cpupower frequency-set -g performance
[ 1425.879832] intel_pstate_set_policy[1001] min_perf_pct = 100
[ 1425.879981] intel_pstate_set_policy[1001] min_perf_pct = 100
[ 1425.880049] intel_pstate_set_policy[1001] min_perf_pct = 100
[ 1425.880178] intel_pstate_set_policy[1001] min_perf_pct = 100
[ 1425.880324] intel_pstate_set_policy[1001] min_perf_pct = 100
[ 1425.880467] intel_pstate_set_policy[1001] min_perf_pct = 100
[ 1425.880534] intel_pstate_set_policy[1001] min_perf_pct = 100
[ 1425.880594] intel_pstate_set_policy[1001] min_perf_pct = 100
cpupower frequency-set -g powersave
[ 1437.677179] intel_pstate_set_policy[1020] min_perf_pct = 50
[ 1437.677181] intel_pstate_set_policy[1023] min_perf_pct = 50
[ 1437.677182] intel_pstate_set_policy[1028] min_perf_pct = 50
[ 1437.677205] intel_pstate_set_policy[1020] min_perf_pct = 50
[ 1437.677206] intel_pstate_set_policy[1023] min_perf_pct = 50
[ 1437.677206] intel_pstate_set_policy[1028] min_perf_pct = 50
[ 1437.677224] intel_pstate_set_policy[1020] min_perf_pct = 50
[ 1437.677225] intel_pstate_set_policy[1023] min_perf_pct = 50
[ 1437.677226] intel_pstate_set_policy[1028] min_perf_pct = 50
[ 1437.677244] intel_pstate_set_policy[1020] min_perf_pct = 50
[ 1437.677245] intel_pstate_set_policy[1023] min_perf_pct = 50
[ 1437.677245] intel_pstate_set_policy[1028] min_perf_pct = 50
[ 1437.677270] intel_pstate_set_policy[1020] min_perf_pct = 50
[ 1437.677271] intel_pstate_set_policy[1023] min_perf_pct = 50
[ 1437.677279] intel_pstate_set_policy[1028] min_perf_pct = 50
[ 1437.677296] intel_pstate_set_policy[1020] min_perf_pct = 50
[ 1437.677297] intel_pstate_set_policy[1023] min_perf_pct = 50
[ 1437.677297] intel_pstate_set_policy[1028] min_perf_pct = 50
[ 1437.677316] intel_pstate_set_policy[1020] min_perf_pct = 50
[ 1437.677317] intel_pstate_set_policy[1023] min_perf_pct = 50
[ 1437.677318] intel_pstate_set_policy[1028] min_perf_pct = 50
[ 1437.677350] intel_pstate_set_policy[1020] min_perf_pct = 50
[ 1437.677351] intel_pstate_set_policy[1023] min_perf_pct = 50
[ 1437.677352] intel_pstate_set_policy[1028] min_perf_pct = 50
Do we agree or disagree that the root issue seems to be (from your test)?:
\# echo 100 > /sys/devices/system/cpu/intel_pstate/min_perf_pct
[ 21.483436] store_min_perf_pct[453] min_sysfs_pct = 100
[ 21.489373] store_min_perf_pct[456] min_perf_pct = 100
[ 21.495203] store_min_perf_pct[459] min_perf_pct = 100
[ 21.501050] store_min_perf_pct[462] min_perf_pct = 100
... Doug
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/