Skip to content

powernv:cpuidle: Enable winkle idle state

Gautham R. Shenoy linux-pm linuxppc-dev lkml 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest2 patches 5 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/2cpuidle: Allow idle-states to be disabled at startdrivers/cpuidle/cpuidle.c include/linux/cpuidle.h+13 -15 replies
2/2powernv:cpuidle: Enable winkle idle state in CPU-Idle.drivers/cpuidle/cpuidle-powernv.c+36 -80 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [RFC/PATCH 0/2] powernv:cpuidle: Enable winkle idle state

From: "Gautham R. Shenoy" <[email protected]>

Hi,

The patches in these series enable support for Winkle idle state in CPU-Idle.

The first patch is a platform-independent CPU-Idle patch that allows CPU-Idle states to be disabled at start (Currently they are all enabled by default).

The second patch adds the winkle enablement for powernv-cpuidle. By default, the winkle idle-state is disabled. It can be enabled by writing zero to the per-cpu cpuidle sysfs control file named "disable".

This series has been lightly tested on a 2-socket POWER8 system and the machine was pretty stable while running kernbench and ebizzy. I didn't see any regressions with those.

I haven't yet evaluated the impact that these patches might have on latency sensitive workloads. I hope to do that in a day or two.

On the power-savings front, I could observe 6-8% additional power-savings when winkle state was enabled on an idle system with SMT=on. With SMT=off, additional idle power-savings observed with winkle enabled were greater than 15%. The numbers indicate that it might be worth the while to pursue this!

Gautham R. Shenoy (2):
cpuidle: Allow idle-states to be disabled at start powernv:cpuidle: Enable winkle idle state in CPU-Idle.

 drivers/cpuidle/cpuidle-powernv.c | 44 ++++++++++++++++++++++++++++++++-------
 drivers/cpuidle/cpuidle.c         |  7 +++++++
 include/linux/cpuidle.h           |  7 ++++++-
 3 files changed, 49 insertions(+), 9 deletions(-)
Signature · 1 line
1.9.4