[v9,0/4] Add vendor agnostic mechanism to report hardware sleep

Message ID 20230414012346.1946-1-mario.limonciello@amd.com
Headers
Series Add vendor agnostic mechanism to report hardware sleep |

Message

Mario Limonciello April 14, 2023, 1:23 a.m. UTC
  An important part of validating that s0ix worked properly is to check how
much of a cycle was spent in a hardware sleep state.

The reporting of hardware sleep is a mix of kernel messages and sysfs
files that vary from vendor to vendor. Collecting this information
requires extra information on the kernel command line or fetching from
debugfs.

To make this information more readily accessible introduce a new file in
suspend_stats that drivers can report into during their resume routine.

Userspace can fetch this information and compare it against the duration
of the cycle to allow determining residency percentages and flagging
problems.

Mario Limonciello (4):
  PM: Add sysfs files to represent time spent in hardware sleep state
  platform/x86/amd: pmc: Report duration of time in hw sleep state
  platform/x86/intel/pmc: core: Always capture counters on suspend
  platform/x86/intel/pmc: core: Report duration of time in HW sleep
    state

 Documentation/ABI/testing/sysfs-power | 29 +++++++++++++
 drivers/platform/x86/amd/pmc.c        |  6 +--
 drivers/platform/x86/intel/pmc/core.c | 17 ++++----
 drivers/platform/x86/intel/pmc/core.h |  4 +-
 include/linux/suspend.h               |  8 ++++
 kernel/power/main.c                   | 59 +++++++++++++++++++++------
 6 files changed, 98 insertions(+), 25 deletions(-)


base-commit: 09a9639e56c01c7a00d6c0ca63f4c7c41abe075d
  

Comments

Hans de Goede April 17, 2023, 8:24 a.m. UTC | #1
Hi Mario, et al.,

On 4/14/23 03:23, Mario Limonciello wrote:
> An important part of validating that s0ix worked properly is to check how
> much of a cycle was spent in a hardware sleep state.
> 
> The reporting of hardware sleep is a mix of kernel messages and sysfs
> files that vary from vendor to vendor. Collecting this information
> requires extra information on the kernel command line or fetching from
> debugfs.
> 
> To make this information more readily accessible introduce a new file in
> suspend_stats that drivers can report into during their resume routine.
> 
> Userspace can fetch this information and compare it against the duration
> of the cycle to allow determining residency percentages and flagging
> problems.
> 
> Mario Limonciello (4):
>   PM: Add sysfs files to represent time spent in hardware sleep state
>   platform/x86/amd: pmc: Report duration of time in hw sleep state
>   platform/x86/intel/pmc: core: Always capture counters on suspend
>   platform/x86/intel/pmc: core: Report duration of time in HW sleep
>     state
> 
>  Documentation/ABI/testing/sysfs-power | 29 +++++++++++++
>  drivers/platform/x86/amd/pmc.c        |  6 +--
>  drivers/platform/x86/intel/pmc/core.c | 17 ++++----
>  drivers/platform/x86/intel/pmc/core.h |  4 +-
>  include/linux/suspend.h               |  8 ++++
>  kernel/power/main.c                   | 59 +++++++++++++++++++++------
>  6 files changed, 98 insertions(+), 25 deletions(-)
> 
> 
> base-commit: 09a9639e56c01c7a00d6c0ca63f4c7c41abe075d

Thank you for working on this, this looks good to me:

Reviewed-by: Hans de Goede <hdegoede@redhat.com>

For the series. Since this also touches kernel/power/main.c
I think it would be best if the entire series is merged
through the linux-pm tree and I'm fine with the pdx86 bits
also getting merged through linux-pm.

Rafael ?

Regards,

Hans
  
Rafael J. Wysocki April 17, 2023, 11:42 a.m. UTC | #2
On Mon, Apr 17, 2023 at 10:25 AM Hans de Goede <hdegoede@redhat.com> wrote:
>
> Hi Mario, et al.,
>
> On 4/14/23 03:23, Mario Limonciello wrote:
> > An important part of validating that s0ix worked properly is to check how
> > much of a cycle was spent in a hardware sleep state.
> >
> > The reporting of hardware sleep is a mix of kernel messages and sysfs
> > files that vary from vendor to vendor. Collecting this information
> > requires extra information on the kernel command line or fetching from
> > debugfs.
> >
> > To make this information more readily accessible introduce a new file in
> > suspend_stats that drivers can report into during their resume routine.
> >
> > Userspace can fetch this information and compare it against the duration
> > of the cycle to allow determining residency percentages and flagging
> > problems.
> >
> > Mario Limonciello (4):
> >   PM: Add sysfs files to represent time spent in hardware sleep state
> >   platform/x86/amd: pmc: Report duration of time in hw sleep state
> >   platform/x86/intel/pmc: core: Always capture counters on suspend
> >   platform/x86/intel/pmc: core: Report duration of time in HW sleep
> >     state
> >
> >  Documentation/ABI/testing/sysfs-power | 29 +++++++++++++
> >  drivers/platform/x86/amd/pmc.c        |  6 +--
> >  drivers/platform/x86/intel/pmc/core.c | 17 ++++----
> >  drivers/platform/x86/intel/pmc/core.h |  4 +-
> >  include/linux/suspend.h               |  8 ++++
> >  kernel/power/main.c                   | 59 +++++++++++++++++++++------
> >  6 files changed, 98 insertions(+), 25 deletions(-)
> >
> >
> > base-commit: 09a9639e56c01c7a00d6c0ca63f4c7c41abe075d
>
> Thank you for working on this, this looks good to me:
>
> Reviewed-by: Hans de Goede <hdegoede@redhat.com>
>
> For the series. Since this also touches kernel/power/main.c
> I think it would be best if the entire series is merged
> through the linux-pm tree and I'm fine with the pdx86 bits
> also getting merged through linux-pm.
>
> Rafael ?

That would be fine with me, but I've only got the [1/4].

Mario, can you please resend the series with CCs to linux-pm and with
R-by from Hans?