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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Jan 27, 2022 at 5:06 AM Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote:
>
> 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.
>
I understand this is not ideal. But the BRS feature must be disabled
before going low-power.
Do you have a better proposal? Been trying to find the simplest way to
support this with no
impact when not needed.

> > 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?



[Index of Archives]     [Linux IBM ACPI]     [Linux Power Management]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux