linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Provide cpupower-idle-set(1) manpage and a minor fix
@ 2013-11-16 13:39 Thomas Renninger
  2013-11-16 13:39 ` [PATCH 1/2] tools cpupower: Add cpupower-idle-set(1) manpage Thomas Renninger
  2013-11-16 13:39 ` [PATCH 2/2] tools cpupower: fix wrong err msg not supported vs not available Thomas Renninger
  0 siblings, 2 replies; 3+ messages in thread
From: Thomas Renninger @ 2013-11-16 13:39 UTC (permalink / raw)
  To: rjw; +Cc: trenn, linux-pm, linux-kernel

Rafael: Could you queue these two again in your tree if they are ok, please.

Sidenote:
If I find the time, I like to adjust the cpuidle ladder governor:
If a lighter sleep state is disabled (and in this governor deeper sleep
states are not entered any more as well), I like to set the disabled
flag for the deeper sleep states as well.
Like that the correct kernel behavior (the disabled and all deeper sleep
states are not used anymore) is shown correctly to userspace and this
is not only documented deep inside the kernel sources.

Thanks,

     Thomas


^ permalink raw reply	[flat|nested] 3+ messages in thread

* [PATCH 1/2] tools cpupower: Add cpupower-idle-set(1) manpage
  2013-11-16 13:39 Provide cpupower-idle-set(1) manpage and a minor fix Thomas Renninger
@ 2013-11-16 13:39 ` Thomas Renninger
  2013-11-16 13:39 ` [PATCH 2/2] tools cpupower: fix wrong err msg not supported vs not available Thomas Renninger
  1 sibling, 0 replies; 3+ messages in thread
From: Thomas Renninger @ 2013-11-16 13:39 UTC (permalink / raw)
  To: rjw
  Cc: trenn, linux-pm, linux-kernel, Carsten Emde, Yanmin Zhang,
	Deepthi Dharwar, ShuoX Liu, cl

cpupower idle-set subcommand was introduce recently.
This patch provides the missing manpage.

If cpupower is properly installed it will show up automatically (similar to
git), when invoking:
cpupower help idle-set
or
cpupower idle-set --help

Some parts have been taken over and adjusted from
git commit 62d6ae880e3e76098
documentation submitted by Carsten Emde.

Signed-off-by: Thomas Renninger <trenn@suse.de>
CC: Carsten Emde <C.Emde@osadl.org>
CC: Yanmin Zhang <yanmin_zhang@intel.com>
CC: Deepthi Dharwar <deepthi@linux.vnet.ibm.com>
CC: ShuoX Liu <shuox.liu@intel.com>
CC: cl@linux.com
---
 tools/power/cpupower/man/cpupower-idle-info.1 |    3 +-
 tools/power/cpupower/man/cpupower-idle-set.1  |   71 +++++++++++++++++++++++++
 2 files changed, 73 insertions(+), 1 deletions(-)
 create mode 100644 tools/power/cpupower/man/cpupower-idle-set.1

diff --git a/tools/power/cpupower/man/cpupower-idle-info.1 b/tools/power/cpupower/man/cpupower-idle-info.1
index 4178eff..7b3646a 100644
--- a/tools/power/cpupower/man/cpupower-idle-info.1
+++ b/tools/power/cpupower/man/cpupower-idle-info.1
@@ -87,4 +87,5 @@ Thomas Renninger <trenn@suse.de>
 .fi
 .SH "SEE ALSO"
 .LP
-cpupower(1), cpupower\-monitor(1), cpupower\-info(1), cpupower\-set(1)
+cpupower(1), cpupower\-monitor(1), cpupower\-info(1), cpupower\-set(1),
+cpupower\-idle\-set(1)
diff --git a/tools/power/cpupower/man/cpupower-idle-set.1 b/tools/power/cpupower/man/cpupower-idle-set.1
new file mode 100644
index 0000000..6b16072
--- /dev/null
+++ b/tools/power/cpupower/man/cpupower-idle-set.1
@@ -0,0 +1,71 @@
+.TH "CPUPOWER-IDLE-SET" "1" "0.1" "" "cpupower Manual"
+.SH "NAME"
+.LP
+cpupower idle\-set \- Utility to set cpu idle state specific kernel options
+.SH "SYNTAX"
+.LP
+cpupower [ \-c cpulist ] idle\-info [\fIoptions\fP]
+.SH "DESCRIPTION"
+.LP
+The cpupower idle\-set subcommand allows to set cpu idle, also called cpu
+sleep state, specific options offered by the kernel. One example is disabling
+sleep states. This can be handy for power vs performance tuning.
+.SH "OPTIONS"
+.LP
+.TP
+\fB\-d\fR \fB\-\-disable\fR
+Disable a specific processor sleep state.
+.TP
+\fB\-e\fR \fB\-\-enable\fR
+Enable a specific processor sleep state.
+
+.SH "REMARKS"
+.LP
+Cpuidle Governors Policy on Disabling Sleep States
+
+.RS 4
+Depending on the used  cpuidle governor, implementing the kernel policy
+how to choose sleep states, subsequent sleep states on this core, might get
+disabled as well.
+
+There are two cpuidle governors ladder and menu. While the ladder
+governor is always available, if CONFIG_CPU_IDLE is selected, the
+menu governor additionally requires CONFIG_NO_HZ.
+
+The behavior and the effect of the disable variable depends on the
+implementation of a particular governor. In the ladder governor, for
+example, it is not coherent, i.e. if one is disabling a light state,
+then all deeper states are disabled as well. Likewise, if one enables a
+deep state but a lighter state still is disabled, then this has no effect.
+.RE
+.LP
+Disabling the Lightest Sleep State may not have any Affect
+
+.RS 4
+If criteria are not met to enter deeper sleep states and the lightest sleep
+state is chosen when idle, the kernel may still enter this sleep state,
+irrespective of whether it is disabled or not. This is also reflected in
+the usage count of the disabled sleep state when using the cpupower idle-info
+command.
+.RE
+.LP
+Selecting specific CPU Cores
+
+.RS 4
+By default processor sleep states of all CPU cores are set. Please refer
+to the cpupower(1) manpage in the \-\-cpu option section how to disable
+C-states of specific cores.
+.RE
+.SH "FILES"
+.nf
+\fI/sys/devices/system/cpu/cpu*/cpuidle/state*\fP
+\fI/sys/devices/system/cpu/cpuidle/*\fP
+.fi
+.SH "AUTHORS"
+.nf
+Thomas Renninger <trenn@suse.de>
+.fi
+.SH "SEE ALSO"
+.LP
+cpupower(1), cpupower\-monitor(1), cpupower\-info(1), cpupower\-set(1),
+cpupower\-idle\-info(1)
-- 
1.7.6.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [PATCH 2/2] tools cpupower: fix wrong err msg not supported vs not available
  2013-11-16 13:39 Provide cpupower-idle-set(1) manpage and a minor fix Thomas Renninger
  2013-11-16 13:39 ` [PATCH 1/2] tools cpupower: Add cpupower-idle-set(1) manpage Thomas Renninger
@ 2013-11-16 13:39 ` Thomas Renninger
  1 sibling, 0 replies; 3+ messages in thread
From: Thomas Renninger @ 2013-11-16 13:39 UTC (permalink / raw)
  To: rjw; +Cc: trenn, linux-pm, linux-kernel

idlestates in sysfs are counted from 0.

This fixes a wrong error message.
Current behavior on a machine with 4 sleep states is:

cpupower idle-set -e 4
Idlestate 4 enabled on CPU 0

-----Wrong---------------------
cpupower idle-set -e 5
Idlestate enabling not supported by kernel
-----Must and now will be -----
cpupower idle-set -e 5
Idlestate 6 not available on CPU 0
-------------------------------

cpupower idle-set -e 6
Idlestate 6 not available on CPU 0

Signed-off-by: Thomas Renninger <trenn@suse.de>
---
 tools/power/cpupower/utils/helpers/sysfs.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/tools/power/cpupower/utils/helpers/sysfs.c b/tools/power/cpupower/utils/helpers/sysfs.c
index 5cdc600..851c7a1 100644
--- a/tools/power/cpupower/utils/helpers/sysfs.c
+++ b/tools/power/cpupower/utils/helpers/sysfs.c
@@ -278,7 +278,7 @@ static char *sysfs_idlestate_get_one_string(unsigned int cpu,
 int sysfs_is_idlestate_disabled(unsigned int cpu,
 				unsigned int idlestate)
 {
-	if (sysfs_get_idlestate_count(cpu) < idlestate)
+	if (sysfs_get_idlestate_count(cpu) <= idlestate)
 		return -1;
 
 	if (!sysfs_idlestate_file_exists(cpu, idlestate,
@@ -303,7 +303,7 @@ int sysfs_idlestate_disable(unsigned int cpu,
 	char value[SYSFS_PATH_MAX];
 	int bytes_written;
 
-	if (sysfs_get_idlestate_count(cpu) < idlestate)
+	if (sysfs_get_idlestate_count(cpu) <= idlestate)
 		return -1;
 
 	if (!sysfs_idlestate_file_exists(cpu, idlestate,
-- 
1.7.6.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2013-11-16 13:40 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-11-16 13:39 Provide cpupower-idle-set(1) manpage and a minor fix Thomas Renninger
2013-11-16 13:39 ` [PATCH 1/2] tools cpupower: Add cpupower-idle-set(1) manpage Thomas Renninger
2013-11-16 13:39 ` [PATCH 2/2] tools cpupower: fix wrong err msg not supported vs not available Thomas Renninger

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).