Re: [PATCH] cpufreq, intel_pstate, set max_sysfs_pct and min_sysfs_pct on governor switch

From: Prarit Bhargava
Date: Wed Oct 07 2015 - 19:09:09 EST




On 10/07/2015 06:05 PM, Rafael J. Wysocki wrote:
> On Wednesday, October 07, 2015 05:31:25 PM Prarit Bhargava wrote:
>>
>> On 10/07/2015 02:52 PM, Doug Smythies wrote:
>>> On 2015.10.07 08:46 Prarit Bhargava wrote:
>>>> On 10/07/2015 11:40 AM, Doug Smythies wrote:
>>>>>
>>>>> 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
>>>>
>>>> Yep, and it appears to be done by default in Fedora & RHEL :/ ... the issue is
>>>> still the same IMO that min_sysfs_pct & max_sysfs_pct are not cleared on a
>>>> governor switch.
>>>
>>> Clearing them will break some other things. For example, and as
>>> shown in my original reply, resume from suspend.
>>>
>>> Why? Because, at least on my computer, the governor is changed to
>>> "performance" during suspend, and the "powersave" governor is
>>> restored sometime during resume. The users wants the settings they had
>>> before the suspend.
>>>
>>
>> Looking at this in more detail after having tested on a Intel(R) Core(TM)
>> i7-2600 CPU @ 3.40GHz in Fedora and RHEL.
>>
>> I have a feeling that the switch you're seeing (poweersave->performance, suspend
>> ... resume, performance->powersave) is occurring in userspace, and not as a
>> result of the kernel. IMO if userspace changes the governor, all bets are off
>> on maintaining max_sysfs_pct and min_sysfs_pct.
>>
>> Here's something I cannot figure out (because I do not have an Ubuntu install).
>> *Why* is Ubuntu making the governor switch during suspend/resume? Is it
>> because of archaic brokeness they were trying to paper over?
>
> That's not limited to Ubuntu, pm-utils has been doing that forever.
>
> I have no idea why has it been doing that, though. I guess the reason
> was to "speed up" PM transitions (in case it started when you were in a
> low-frequency P-state and then there was no time to bump it up before
> things got too far).

Nuts :/. Okay, it looks like git://anongit.freedesktop.org/git/pm-utils
pm/sleep.d/94cpufreq is the culprit here. suspend/resume is known to work with
the intel_pstate driver and IMO should be blacklisted. I'll install Ubuntu and
do some testing.

P.

>
> Thanks,
> Rafael
>
--
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/