Re: [PATCH V5 4/7] cpufreq: Add a notification message that the highest perf has changed

From: Peter Zijlstra
Date: Fri Sep 08 2023 - 09:24:18 EST


On Tue, Sep 05, 2023 at 09:51:13AM +0800, Meng Li wrote:
> ACPI 6.5 section 8.4.6.1.1.1 specifies that Notify event 0x85 can be
> emmitted to cause the the OSPM to re-evaluate the highest performance
> register. Add support for this event.
>
> Signed-off-by: Meng Li <li.meng@xxxxxxx>
> Link: https://uefi.org/specs/ACPI/6.5/08_Processor_Configuration_and_Control.html?highlight=cppc#cpc-continuous-performance-control
> ---
> drivers/acpi/processor_driver.c | 6 ++++++
> drivers/cpufreq/cpufreq.c | 13 +++++++++++++
> include/linux/cpufreq.h | 5 +++++
> 3 files changed, 24 insertions(+)
>
> diff --git a/drivers/acpi/processor_driver.c b/drivers/acpi/processor_driver.c
> index 4bd16b3f0781..29b2fb68a35d 100644
> --- a/drivers/acpi/processor_driver.c
> +++ b/drivers/acpi/processor_driver.c
> @@ -27,6 +27,7 @@
> #define ACPI_PROCESSOR_NOTIFY_PERFORMANCE 0x80
> #define ACPI_PROCESSOR_NOTIFY_POWER 0x81
> #define ACPI_PROCESSOR_NOTIFY_THROTTLING 0x82
> +#define ACPI_PROCESSOR_NOTIFY_HIGEST_PERF_CHANGED 0x85
>
> MODULE_AUTHOR("Paul Diefenbaugh");
> MODULE_DESCRIPTION("ACPI Processor Driver");
> @@ -83,6 +84,11 @@ static void acpi_processor_notify(acpi_handle handle, u32 event, void *data)
> acpi_bus_generate_netlink_event(device->pnp.device_class,
> dev_name(&device->dev), event, 0);
> break;
> + case ACPI_PROCESSOR_NOTIFY_HIGEST_PERF_CHANGED:
> + cpufreq_update_highest_perf(pr->id);
> + acpi_bus_generate_netlink_event(device->pnp.device_class,
> + dev_name(&device->dev), event, 0);
> + break;
> default:
> acpi_handle_debug(handle, "Unsupported event [0x%x]\n", event);
> break;

I've obviously not read the link, but the above seems to suggest that
every CPU that has its limits changed gets the 'interrupt' ?