mbox series

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

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

Message

Mario Limonciello April 17, 2023, 3:27 p.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.

v9->v10:
 * Add tags
 * Rebase on linux-pm/bleeding-edge as it will apply through this tree

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: 0962c5df83b088fad0c531257744fb7a1e83221c

Comments

Rafael J. Wysocki April 20, 2023, 5:08 p.m. UTC | #1
On Mon, Apr 17, 2023 at 5:27 PM Mario Limonciello
<mario.limonciello@amd.com> 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.
>
> v9->v10:
>  * Add tags
>  * Rebase on linux-pm/bleeding-edge as it will apply through this tree
>
> 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(-)
>

Whole series applied as 6.4-rc1 material, thanks!