Re: [PATCH v2 1/4] cpufreq: Fix re-boost issue after hotplugging a cpu

From: Viresh Kumar
Date: Mon Jan 20 2025 - 04:21:32 EST


On 20-01-25, 17:10, zhenglifeng (A) wrote:
> On 2025/1/20 16:27, Viresh Kumar wrote:
> > On 17-01-25, 18:14, Lifeng Zheng wrote:
> >> 1. boost all cpus: echo 1 > /sys/devices/system/cpu/cpufreq/boost
> >
> > Boost enabled here, max_freq_req = 2 GHz.
> >
> >> 2. offline the cpu: echo 0 > /sys/devices/system/cpu/cpuX/online
> >>
> >> 3. deboost all cpus: echo 0 > /sys/devices/system/cpu/cpufreq/boost
> >>
> >> 4. online the cpu: echo 1 > /sys/devices/system/cpu/cpuX/online
> >
> > Boost is disabled currently here, but max_freq_req = 2 GHz, which is
> > incorrect and the current change you are proposing fixes it I think.
> > But it is not what you are claiming to fix.
>
> Since boost is disabled, policy->max and policy->cpuinfo.max_freq will be
> 1.5GHz, this limits the actual frequency of the final.

Okay, I was thinking about the case (!new_policy &&
cpufreq_driver->online), where cpufreq_table_validate_and_sort() isn't
called and max_freq isn't updated eventually. But for the other case,
we will see max-freq as 1.5GHz.

> >> 5. boost all cpus again: echo 1 > /sys/devices/system/cpu/cpufreq/boost
> >
> > Boost enabled again here, and max_freq_req = 2 GHz is the correct
> > value.
>
> In freq_qos_update_request(), if req->pnode.prio == new_value, it will
> directly return 0 and not excecute freq_qos_apply(), in which will refresh
> frequency. So the frequency will stay on base.

--
viresh