Re: [PATCH 8/8] cpufreq: amd-pstate: Drop some uses of cpudata->hw_prefcore

Mario Limonciello
2024-08-27T19:17:02Z

On 8/27/2024 12:03, Gautham R. Shenoy wrote:
> On Mon, Aug 26, 2024 at 04:13:58PM -0500, Mario Limonciello wrote:
>> From: Mario Limonciello <mario.limonciello@amd.com>
>>
>> As the global variable is cleared when preferred cores is not present
>> the local variable use isn't needed in many functions.
>> Drop it where possible. No intended functional changes.
>>
>> Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
>> ---
>> drivers/cpufreq/amd-pstate.c | 7 +------
>> 1 file changed, 1 insertion(+), 6 deletions(-)
>>
>> diff --git a/drivers/cpufreq/amd-pstate.c b/drivers/cpufreq/amd-pstate.c
>> index ed05d7a0add10..257e28e549bd1 100644
>> --- a/drivers/cpufreq/amd-pstate.c
>> +++ b/drivers/cpufreq/amd-pstate.c
>> @@ -1112,12 +1112,7 @@ static ssize_t show_amd_pstate_prefcore_ranking(struct cpufreq_policy *policy,
>> static ssize_t show_amd_pstate_hw_prefcore(struct cpufreq_policy *policy,
>> char *buf)
>> {
>> - bool hw_prefcore;
>> - struct amd_cpudata *cpudata = policy->driver_data;
>> -
>> - hw_prefcore = READ_ONCE(cpudata->hw_prefcore);
>> -
>> - return sysfs_emit(buf, "%s\n", str_enabled_disabled(hw_prefcore));
>> + return sysfs_emit(buf, "%s\n", str_enabled_disabled(amd_pstate_prefcore));
>
>
> If the user boots with "amd_prefcore=disable" on a system that
> supports preferred-core, pror to this patchset, cpudata->hw_prefcore
> would be true and thus, amd_pstate_hw_prefcore would show "enabled".
>

Yes; you're right about the previous behavior.

> With this patchset, it would show "disabled". Or am I missing something?

This appears to be another case we don't have documentation for the
sysfs file `amd_pstate_hw_prefcore`.

I had thought this was a malfunction in the behavior that it reflected
the current status, not the hardware /capability/.

Which one makes more sense for userspace? In my mind the most likely
consumer of this information would be something a sched_ext based
userspace scheduler. They would need to know whether the scheduler was
using preferred cores; not whether the hardware supported it.

Whichever direction we agree to go; I'll add documentation for v2.

>
>
>
>> }
>>
>> static ssize_t show_energy_performance_available_preferences(
>> --
>> 2.43.0
>>
>
> --
> Thanks and Regards
> gautham.