[PATCH v3 2/3] arch_topology: obtain cpu capacity using information from CPPC

Sudeep Holla sudeep.holla at arm.com
Wed Mar 9 01:54:24 PST 2022


On Wed, Mar 02, 2022 at 06:09:12PM +0000, Ionela Voinescu wrote:
> Define topology_init_cpu_capacity_cppc() to use highest performance
> values from _CPC objects to obtain and set maximum capacity information
> for each CPU. acpi_cppc_processor_probe() is a good point at which to
> trigger the initialization of CPU (u-arch) capacity values, as at this
> point the highest performance values can be obtained from each CPU's
> _CPC objects. Architectures can therefore use this functionality
> through arch_init_invariance_cppc().
> 
> The performance scale used by CPPC is a unified scale for all CPUs in
> the system. Therefore, by obtaining the raw highest performance values
> from the _CPC objects, and normalizing them on the [0, 1024] capacity
> scale, used by the task scheduler, we obtain the CPU capacity of each
> CPU.
> 
> While an ACPI Notify(0x85) could alert about a change in the highest
> performance value, which should in turn retrigger the CPU capacity
> computations, this notification is not currently handled by the ACPI
> processor driver. When supported, a call to arch_init_invariance_cppc()
> would perform the update.
> 
> Signed-off-by: Ionela Voinescu <ionela.voinescu at arm.com>
> Tested-by: Valentin Schneider <valentin.schneider at arm.com>
> Cc: Sudeep Holla <sudeep.holla at arm.com>

Looks good to me. FWIW,

Acked-by: Sudeep Holla <sudeep.holla at arm.com>

--
Regards,
Sudeep



More information about the linux-arm-kernel mailing list