[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <DM4PR12MB6351613D99791DAC1A573DFDF7D7A@DM4PR12MB6351.namprd12.prod.outlook.com>
Date: Mon, 16 Oct 2023 01:45:33 +0000
From: "Meng, Li (Jassmine)" <Li.Meng@....com>
To: Oleksandr Natalenko <oleksandr@...alenko.name>,
"Rafael J . Wysocki" <rafael.j.wysocki@...el.com>,
"Huang, Ray" <Ray.Huang@....com>
CC: "linux-pm@...r.kernel.org" <linux-pm@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"x86@...nel.org" <x86@...nel.org>,
"linux-acpi@...r.kernel.org" <linux-acpi@...r.kernel.org>,
Shuah Khan <skhan@...uxfoundation.org>,
"linux-kselftest@...r.kernel.org" <linux-kselftest@...r.kernel.org>,
"Fontenot, Nathan" <Nathan.Fontenot@....com>,
"Sharma, Deepak" <Deepak.Sharma@....com>,
"Deucher, Alexander" <Alexander.Deucher@....com>,
"Limonciello, Mario" <Mario.Limonciello@....com>,
"Huang, Shimmer" <Shimmer.Huang@....com>,
"Yuan, Perry" <Perry.Yuan@....com>,
"Du, Xiaojian" <Xiaojian.Du@....com>,
Viresh Kumar <viresh.kumar@...aro.org>,
Borislav Petkov <bp@...en8.de>
Subject: RE: [RESEND PATCH V9 0/7] amd-pstate preferred core
[AMD Official Use Only - General]
Hi Oleksandr:
> -----Original Message-----
> From: Oleksandr Natalenko <oleksandr@...alenko.name>
> Sent: Friday, October 13, 2023 11:45 PM
> To: Rafael J . Wysocki <rafael.j.wysocki@...el.com>; Huang, Ray
> <Ray.Huang@....com>; Meng, Li (Jassmine) <Li.Meng@....com>
> Cc: linux-pm@...r.kernel.org; linux-kernel@...r.kernel.org;
> x86@...nel.org; linux-acpi@...r.kernel.org; Shuah Khan
> <skhan@...uxfoundation.org>; linux-kselftest@...r.kernel.org; Fontenot,
> Nathan <Nathan.Fontenot@....com>; Sharma, Deepak
> <Deepak.Sharma@....com>; Deucher, Alexander
> <Alexander.Deucher@....com>; Limonciello, Mario
> <Mario.Limonciello@....com>; Huang, Shimmer
> <Shimmer.Huang@....com>; Yuan, Perry <Perry.Yuan@....com>; Du,
> Xiaojian <Xiaojian.Du@....com>; Viresh Kumar <viresh.kumar@...aro.org>;
> Borislav Petkov <bp@...en8.de>; Meng, Li (Jassmine) <Li.Meng@....com>
> Subject: Re: [RESEND PATCH V9 0/7] amd-pstate preferred core
>
> Hello.
>
> On pátek 13. října 2023 5:31:11 CEST Meng Li wrote:
> > Hi all:
> >
> > The core frequency is subjected to the process variation in semiconductors.
> > Not all cores are able to reach the maximum frequency respecting the
> > infrastructure limits. Consequently, AMD has redefined the concept of
> > maximum frequency of a part. This means that a fraction of cores can
> > reach maximum frequency. To find the best process scheduling policy
> > for a given scenario, OS needs to know the core ordering informed by
> > the platform through highest performance capability register of the CPPC
> interface.
> >
> > Earlier implementations of amd-pstate preferred core only support a
> > static core ranking and targeted performance. Now it has the ability
> > to dynamically change the preferred core based on the workload and
> > platform conditions and accounting for thermals and aging.
> >
> > Amd-pstate driver utilizes the functions and data structures provided
> > by the ITMT architecture to enable the scheduler to favor scheduling
> > on cores which can be get a higher frequency with lower voltage.
> > We call it amd-pstate preferred core.
> >
> > Here sched_set_itmt_core_prio() is called to set priorities and
> > sched_set_itmt_support() is called to enable ITMT feature.
> > Amd-pstate driver uses the highest performance value to indicate the
> > priority of CPU. The higher value has a higher priority.
> >
> > Amd-pstate driver will provide an initial core ordering at boot time.
> > It relies on the CPPC interface to communicate the core ranking to the
> > operating system and scheduler to make sure that OS is choosing the
> > cores with highest performance firstly for scheduling the process.
> > When amd-pstate driver receives a message with the highest performance
> > change, it will update the core ranking.
> >
> > Changes form V8->V9:
> > - all:
> > - - pick up Tested-By flag added by Oleksandr.
> > - cpufreq: amd-pstate:
> > - - pick up Review-By flag added by Wyes.
> > - - ignore modification of bug.
>
> Thanks for this submission.
>
> The bug you refer to, I assume it should have been fixed by this hunk:
>
> ```
> --- a/drivers/cpufreq/amd-pstate.c
> +++ b/drivers/cpufreq/amd-pstate.c
> @@ -542,7 +542,7 @@ static void amd_pstate_adjust_perf(unsigned int cpu,
> if (target_perf < capacity)
> des_perf = DIV_ROUND_UP(cap_perf * target_perf,
> capacity);
>
> - min_perf = READ_ONCE(cpudata->highest_perf);
> + min_perf = READ_ONCE(cpudata->lowest_perf);
> if (_min_perf < capacity)
> min_perf = DIV_ROUND_UP(cap_perf * _min_perf, capacity);
> ```
>
> which is now missing from this patchset as it was suggested to send it as a
> separate patch.
>
> Am I correct? If so, are you going to send it as a separate patch within the
> next round of this patchset, or it will be sent separately (if it hasn't yet)?
>
[Meng, Li (Jassmine)] Thank you!
It is now missing from this serial patches.
And I will send a separately patch for this issue.
> > - - add a attribute of prefcore_ranking.
> > - - modify data type conversion from u32 to int.
> > - Documentation: amd-pstate:
> > - - pick up Review-By flag added by Wyes.
> >
> > Changes form V7->V8:
> > - all:
> > - - pick up Review-By flag added by Mario and Ray.
> > - cpufreq: amd-pstate:
> > - - use hw_prefcore embeds into cpudata structure.
> > - - delete preferred core init from cpu online/off.
> >
> > Changes form V6->V7:
> > - x86:
> > - - Modify kconfig about X86_AMD_PSTATE.
> > - cpufreq: amd-pstate:
> > - - modify incorrect comments about scheduler_work().
> > - - convert highest_perf data type.
> > - - modify preferred core init when cpu init and online.
> > - acpi: cppc:
> > - - modify link of CPPC highest performance.
> > - cpufreq:
> > - - modify link of CPPC highest performance changed.
> >
> > Changes form V5->V6:
> > - cpufreq: amd-pstate:
> > - - modify the wrong tag order.
> > - - modify warning about hw_prefcore sysfs attribute.
> > - - delete duplicate comments.
> > - - modify the variable name cppc_highest_perf to prefcore_ranking.
> > - - modify judgment conditions for setting highest_perf.
> > - - modify sysfs attribute for CPPC highest perf to pr_debug message.
> > - Documentation: amd-pstate:
> > - - modify warning: title underline too short.
> >
> > Changes form V4->V5:
> > - cpufreq: amd-pstate:
> > - - modify sysfs attribute for CPPC highest perf.
> > - - modify warning about comments
> > - - rebase linux-next
> > - cpufreq:
> > - - Moidfy warning about function declarations.
> > - Documentation: amd-pstate:
> > - - align with ``amd-pstat``
> >
> > Changes form V3->V4:
> > - Documentation: amd-pstate:
> > - - Modify inappropriate descriptions.
> >
> > Changes form V2->V3:
> > - x86:
> > - - Modify kconfig and description.
> > - cpufreq: amd-pstate:
> > - - Add Co-developed-by tag in commit message.
> > - cpufreq:
> > - - Modify commit message.
> > - Documentation: amd-pstate:
> > - - Modify inappropriate descriptions.
> >
> > Changes form V1->V2:
> > - acpi: cppc:
> > - - Add reference link.
> > - cpufreq:
> > - - Moidfy link error.
> > - cpufreq: amd-pstate:
> > - - Init the priorities of all online CPUs
> > - - Use a single variable to represent the status of preferred core.
> > - Documentation:
> > - - Default enabled preferred core.
> > - Documentation: amd-pstate:
> > - - Modify inappropriate descriptions.
> > - - Default enabled preferred core.
> > - - Use a single variable to represent the status of preferred core.
> >
> > Meng Li (7):
> > x86: Drop CPU_SUP_INTEL from SCHED_MC_PRIO for the expansion.
> > acpi: cppc: Add get the highest performance cppc control
> > cpufreq: amd-pstate: Enable amd-pstate preferred core supporting.
> > cpufreq: Add a notification message that the highest perf has changed
> > cpufreq: amd-pstate: Update amd-pstate preferred core ranking
> > dynamically
> > Documentation: amd-pstate: introduce amd-pstate preferred core
> > Documentation: introduce amd-pstate preferrd core mode kernel
> command
> > line options
> >
> > .../admin-guide/kernel-parameters.txt | 5 +
> > Documentation/admin-guide/pm/amd-pstate.rst | 59 ++++-
> > arch/x86/Kconfig | 5 +-
> > drivers/acpi/cppc_acpi.c | 13 ++
> > drivers/acpi/processor_driver.c | 6 +
> > drivers/cpufreq/amd-pstate.c | 204 ++++++++++++++++--
> > drivers/cpufreq/cpufreq.c | 13 ++
> > include/acpi/cppc_acpi.h | 5 +
> > include/linux/amd-pstate.h | 10 +
> > include/linux/cpufreq.h | 5 +
> > 10 files changed, 305 insertions(+), 20 deletions(-)
> >
> >
>
>
> --
> Oleksandr Natalenko (post-factum)
Powered by blists - more mailing lists