Re: [PATCH v5 08/13] ACPI: add perf low power callback

From: Peter Zijlstra
Date: Thu Jan 27 2022 - 08:06:57 EST


On Wed, Jan 26, 2022 at 03:34:49PM -0800, Stephane Eranian wrote:
> This patch add an optional callback needed by some PMU features, e.g., AMD

"This patch" is a documented fail.

> BRS, to give a chance to the perf_events code to change its state before
> going to low power and after coming back.
>
> The callback is void when the PERF_NEEDS_LOPWR_CB flag is not set.
> This flag must be set in arch specific perf_event.h header whenever needed.
> When not set, there is no impact of the ACPI code.
>
> Signed-off-by: Stephane Eranian <eranian@xxxxxxxxxx>
> ---
> drivers/acpi/acpi_pad.c | 6 ++++++
> drivers/acpi/processor_idle.c | 5 +++++
> include/linux/perf_event.h | 6 ++++++
> 3 files changed, 17 insertions(+)
>
> diff --git a/drivers/acpi/acpi_pad.c b/drivers/acpi/acpi_pad.c
> index f45979aa2d64..a306a07a60b5 100644
> --- a/drivers/acpi/acpi_pad.c
> +++ b/drivers/acpi/acpi_pad.c
> @@ -164,6 +164,9 @@ static int power_saving_thread(void *data)
> tsc_marked_unstable = 1;
> }
> local_irq_disable();
> +
> + perf_lopwr_cb(true);
> +
> tick_broadcast_enable();
> tick_broadcast_enter();
> stop_critical_timings();
> @@ -172,6 +175,9 @@ static int power_saving_thread(void *data)
>
> start_critical_timings();
> tick_broadcast_exit();
> +
> + perf_lopwr_cb(false);
> +
> local_irq_enable();
>
> if (time_before(expire_time, jiffies)) {

You forgot to Cc the maintainers of this stinking pile of poo. Can we
please delete it instead?