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

From: Gautham R. Shenoy
Date: Thu Aug 18 2016 - 23:01:21 EST


From: "Gautham R. Shenoy" <ego@xxxxxxxxxxxxxxxxxx>

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(-)

--
1.9.4