lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20231025111821.pp3hdpilddbx4yzr@vireshk-i7>
Date:   Wed, 25 Oct 2023 16:48:21 +0530
From:   Viresh Kumar <viresh.kumar@...aro.org>
To:     Zeng Heng <zengheng4@...wei.com>
Cc:     rafael@...nel.org, liwei391@...wei.com, linux-pm@...r.kernel.org,
        xiexiuqi@...wei.com, wangxiongfeng2@...wei.com,
        linux-kernel@...r.kernel.org
Subject: Re: [PATCH -next] cpufreq: userspace: Keep the current frequency
 when set userspace policy

On 25-10-23, 16:09, Zeng Heng wrote:
> When switching to the userspace policy, if the current frequency is within
> the range of policy's min and max values, the current frequency value
> should be remained. The .limit() function is called when changing governor
> or updating governor limits, so in both cases, there is no need to update
> frequency if the current frequency does not exceed the threshold.
> 
> Additionally, when changing to userspace governor, the default value of
> set_speed is set by reading the current frequency of the CPU, but there
> is inevitable error between the frequency coming from .get_rate() interface
> and the actual working frequency. Consequently, when switching to userspace
> policy, keeping the current frequency can avoid unexpected changes.
> 
> Signed-off-by: Zeng Heng <zengheng4@...wei.com>
> ---
>  drivers/cpufreq/cpufreq_userspace.c | 4 +---
>  1 file changed, 1 insertion(+), 3 deletions(-)
> 
> diff --git a/drivers/cpufreq/cpufreq_userspace.c b/drivers/cpufreq/cpufreq_userspace.c
> index 2c42fee76daa..fe55a7bb663c 100644
> --- a/drivers/cpufreq/cpufreq_userspace.c
> +++ b/drivers/cpufreq/cpufreq_userspace.c
> @@ -117,9 +117,7 @@ static void cpufreq_userspace_policy_limits(struct cpufreq_policy *policy)
>  	else if (policy->min > userspace->setspeed)
>  		__cpufreq_driver_target(policy, policy->min,
>  					CPUFREQ_RELATION_L);
> -	else
> -		__cpufreq_driver_target(policy, userspace->setspeed,
> -					CPUFREQ_RELATION_L);
> +	/* Otherwise, keep the current frequency. */
> 
>  	mutex_unlock(&userspace->mutex);
>  }

Here is some reasoning why it should be done the way it is:

commit e43e94c1eda7 ("cpufreq: Fix GOV_LIMITS handling for the userspace governor")

-- 
viresh

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ