[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4d4ba2f4-a294-44cf-b79e-c93c4e23cb2e@amd.com>
Date: Tue, 7 Jan 2025 20:26:20 -0600
From: Mario Limonciello <mario.limonciello@....com>
To: "zhenglifeng (A)" <zhenglifeng1@...wei.com>
Cc: rafael@...nel.org, viresh.kumar@...aro.org, perry.yuan@....com,
linux-pm@...r.kernel.org, linux-kernel@...r.kernel.org, linuxarm@...wei.com,
jonathan.cameron@...wei.com, zhanjie9@...ilicon.com, lihuisong@...wei.com,
fanghao11@...wei.com
Subject: Re: [PATCH] cpufreq/amd-pstate: Fix per-policy boost flag incorrect
when fail
On 1/7/2025 19:31, zhenglifeng (A) wrote:
> On 2025/1/4 0:56, Mario Limonciello wrote:
>
>> On 1/3/2025 01:41, Lifeng Zheng wrote:
>>> Commit c8c68c38b56f ("cpufreq: amd-pstate: initialize core precision
>>> boost state") sets per-policy boost flag to false when boost fail.
>>> However, this boost flag will be set to reverse value in
>>> store_local_boost() and cpufreq_boost_trigger_state() in cpufreq.c. This
>>> will cause the per-policy boost flag set to true when fail to set boost.
>>> Remove the extra assignment in amd_pstate_set_boost() and keep all
>>> operations on per-policy boost flag outside of set_boost() to fix this
>>> problem.
>>>
>>> Fixes: c8c68c38b56f ("cpufreq: amd-pstate: initialize core precision boost state")
>>> Signed-off-by: Lifeng Zheng <zhenglifeng1@...wei.com>
>>> ---
>>
>> Hi There,
>>
>> Thanks for the patch. Unfortunately, it doesn't apply to the current linux-next branch at https://git.kernel.org/pub/scm/linux/kernel/git/superm1/linux.git
>
> Hello Mario,
>
> When I try to build on this branch, I got an error:
>
> arch/x86/kernel/relocate_kernel_64.o: In function `virtual_mapped':
> .../linux/arch/x86/kernel/relocate_kernel_64.S:249: undefined reference to `saved_context_gdt_desc'
> scripts/Makefile.vmlinux:77: recipe for target 'vmlinux' failed
>
> This error occurs when CONFIG_KEXEC_JUMP=y, and doesn't occur when build on
> torvalds master branch with same config. Please check if there is any
> problem whith this branch.
>
Hi,
It's because the branch is based on an earlier 6.13-rc.
Two ideas that can help you:
1) You can pull this patch manually on top of it to avoid that issue.
https://git.kernel.org/torvalds/c/aeb68937614f4
2) You can manually rebase the branch on newer 6.13-rc locally to make
your commit. That commit that fixed it landed in 6.13-rc3, so rc3 or
later would be fine.
>>
>> Although the issue you identified is still valid, there have been other contextual changes in the function [1]. Can you rebase on that branch, test it again and send a v2?
>>
>> [1] https://git.kernel.org/pub/scm/linux/kernel/git/superm1/linux.git/tree/drivers/cpufreq/amd-pstate.c?h=linux-next#n750
>>
>> Thanks!
>>
>>> drivers/cpufreq/amd-pstate.c | 1 -
>>> 1 file changed, 1 deletion(-)
>>>
>>> diff --git a/drivers/cpufreq/amd-pstate.c b/drivers/cpufreq/amd-pstate.c
>>> index 66e5dfc711c0..4ce923788f3a 100644
>>> --- a/drivers/cpufreq/amd-pstate.c
>>> +++ b/drivers/cpufreq/amd-pstate.c
>>> @@ -730,7 +730,6 @@ static int amd_pstate_set_boost(struct cpufreq_policy *policy, int state)
>>> mutex_lock(&amd_pstate_driver_lock);
>>> ret = amd_pstate_cpu_boost_update(policy, state);
>>> WRITE_ONCE(cpudata->boost_state, !ret ? state : false);
>>> - policy->boost_enabled = !ret ? state : false;
>>> refresh_frequency_limits(policy);
>>> mutex_unlock(&amd_pstate_driver_lock);
>>>
>>
>
Powered by blists - more mailing lists