[PATCH v4 4/4] cpufreq: Use arch specific feedback for cpuinfo_cur_freq
Viresh Kumar
viresh.kumar at linaro.org
Mon Apr 29 02:25:15 PDT 2024
On 26-04-24, 12:45, Beata Michalska wrote:
> It seems that we might need to revisit the discussion we've had around
> scaling_cur_freq and cpuinfo_cur_freq and the use of arch_freq_get_on_cpu.
> As Vanshi has raised, having both utilizing arch specific feedback for
> getting current frequency is bit problematic and might be confusing at best.
> As arch_freq_get_on_cpu is already used by show_scaling_cur_freq there are not
> many options we are left with, if we want to kee all archs aligned:
> we can either try to rework show_scaling_cur_freq and it's use of
> arch_freq_get_on_cpu, and move it to cpuinfo_cur_freq, which would align with
> relevant docs, though that will not work for x86, or we keep it only there and
> skip updating cpuinfo_cur_freq, going against the guidelines. Other options,
> purely theoretical, would involve making arch_freq_get_on_cpu aware of type of
> the info requested (hw vs sw) or adding yet another arch-specific implementation,
> and those are not really appealing alternatives to say at least.
> What's your opinion on this one ?
Hi Beata / Vanshidhar,
Lets forget for once what X86 and ARM may have done and think about it
once again. I also had a chat with Vincent today about this.
The documentation says it clearly, cpuinfo_cur_freq is the one
received from hardware and scaling_cur_freq is the one requested from
software.
Now, I know that X86 has made both of them quite similar and I
suggested to make them all aligned (and never received a reply on my
previous message).
There are few reasons why it may be worth keeping the definition (and
behavior) of the sysfs files as is, at least for ARM:
- First is that the documentation says so.
- There is no point providing the same information via both the
interfaces, there are two interfaces here for a reason.
- There maybe tools around which depend on the documented behavior.
- From userspace, currently there is only one way to know the exact
frequency that the cpufreq governors have requested from a platform,
i.e. the value from scaling_cur_freq. If we make it similar to
cpuinfo_cur_freq, then userspace will never know about the requested
frequency and the eventual one and if they are same or different.
Lets keep the behavior as is and update only cpuinfo_cur_freq with
arch_freq_get_on_cpu().
Makes sense ?
--
viresh
More information about the linux-arm-kernel
mailing list