Re: [PATCH v2 0/7] CPPC optional registers AMD support

From: Janakarajan Natarajan
Date: Mon Apr 15 2019 - 18:35:55 EST


On 4/4/19 4:25 PM, Natarajan, Janakarajan wrote:
> CPPC (Collaborative Processor Performance Control) offers optional
> registers which can be used to tune the system based on energy and/or
> performance requirements.
>
> Newer AMD processors add support for a subset of these optional CPPC
> registers, based on ACPI v6.1.
>
> The following are the supported CPPC registers for which sysfs entries
> are created:
> * enable (NEW)
> * max_perf (NEW)
> * min_perf (NEW)
> * energy_perf
> * lowest_perf
> * nominal_perf
> * desired_perf (NEW)
> * feedback_ctrs
> * auto_sel_enable (NEW)
> * lowest_nonlinear_perf
>
> The CPPC driver is updated to enable the OSPM and the userspace to
> access
> the newly supported registers.
>
> The purpose of exposing the registers via the sysfs entries is to allow
> the userspace to:
> * Tweak the values to fit its workload.
> * Apply a profile from AMD's optimization guides.
>
> Profiles will be documented in the performance/optimization guides.
>
> Note:
> * AMD systems will not have a policy applied in the kernel at this time.
> * By default, acpi_cpufreq will still be used.
>
> TODO:
> * Create a linux userspace tool that will help users generate a CPPC
> * profile
> for their target workload.
> * Create or update a driver to apply a general CPPC policy in the
> * kernel.
>
> v1->v2:
> * Add macro to ensure BUFFER only registers have BUFFER type.
> * Add support macro to make the right check based on register type.
> * Remove support checks for registers which are mandatory.


Are there any concerns regarding this patchset?


Thanks.


>
> Janakarajan Natarajan (2):
> acpi/cppc: Add macro for CPPC register BUFFER only check
> acpi/cppc: Ensure only supported CPPC sysfs entries are created
>
> Yazen Ghannam (5):
> acpi/cppc: Modify show_cppc_data macro
> acpi/cppc: Rework cppc_set_perf() to use cppc_regs index
> acpi/cppc: Add macros to define a R/W sysfs entry for CPPC registers
> acpi/cppc: Add support for optional CPPC registers
> acpi/cppc: Add support for CPPC Enable register
>
> drivers/acpi/cppc_acpi.c | 402 +++++++++++++++++++++++++++++----
> drivers/cpufreq/cppc_cpufreq.c | 6 +-
> include/acpi/cppc_acpi.h | 6 +-
> 3 files changed, 372 insertions(+), 42 deletions(-)
>