[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <DM4PR12MB6351EEEF25AE6D5D8711F319F7FAA@DM4PR12MB6351.namprd12.prod.outlook.com>
Date: Tue, 19 Sep 2023 00:50:34 +0000
From: "Meng, Li (Jassmine)" <Li.Meng@....com>
To: "Limonciello, Mario" <Mario.Limonciello@....com>,
"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>,
"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: [PATCH V7 0/7] amd-pstate preferred core
[AMD Official Use Only - General]
Hi Mario:
> -----Original Message-----
> From: Limonciello, Mario <Mario.Limonciello@....com>
> Sent: Tuesday, September 19, 2023 1:41 AM
> To: Meng, Li (Jassmine) <Li.Meng@....com>; Rafael J . Wysocki
> <rafael.j.wysocki@...el.com>; Huang, Ray <Ray.Huang@....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>; 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: [PATCH V7 0/7] amd-pstate preferred core
>
> On 9/18/2023 03:14, 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.
> >
>
> For the remaining patches missing my tag:
>
> Reviewed-by: Mario Limonciello <mario.limonciello@....com>
>
[Meng, Li (Jassmine)]
Thank you very much!
I will add Review-by flag for the remaining patches.
> > 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 | 58 +++++-
> > arch/x86/Kconfig | 5 +-
> > drivers/acpi/cppc_acpi.c | 13 ++
> > drivers/acpi/processor_driver.c | 6 +
> > drivers/cpufreq/amd-pstate.c | 197 ++++++++++++++++--
> > drivers/cpufreq/cpufreq.c | 13 ++
> > include/acpi/cppc_acpi.h | 5 +
> > include/linux/amd-pstate.h | 6 +
> > include/linux/cpufreq.h | 5 +
> > 10 files changed, 291 insertions(+), 22 deletions(-)
> >
Powered by blists - more mailing lists