All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] Documentation/cpu-freq: add intel-pstate.txt
@ 2014-01-03 11:31 Ramkumar Ramachandra
  2014-01-03 12:09 ` Rafael J. Wysocki
  2014-01-03 17:29 ` Randy Dunlap
  0 siblings, 2 replies; 4+ messages in thread
From: Ramkumar Ramachandra @ 2014-01-03 11:31 UTC (permalink / raw)
  To: LKML; +Cc: Dirk Brandewie, Rafael J. Wysocki, Viresh Kumar

The Intel P-state driver is currently undocumented. Add some
documentation based on the cover-letter sent with the original series.

Cc: Dirk Brandewie <dirk.brandewie@gmail.com>
Cc: Rafael J. Wysocki <rjw@rjwysocki.net>
Cc: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
---
 I was looking for documentation on my cpufreq driver, intel_pstate,
 and found nothing: so, here's a small start. Although the original
 message said SandyBridge only, I noticed that
 /sys/devices/system/cpu/cpu0/cpufreq/scaling_driver says intel_pstate
 on my IvyBridge; so I figured subsequent patches introduced support
 for SandyBridge+.

 I noticed two "policies" in the code: CPUFREQ_POLICY_PERFORMANCE and
 CPUFREQ_POLICY_POWERSAVE, but I have no idea how to switch from one
 to the other. The userspace tool cpupower seems to be too tightly
 tied to the acpi-cpufreq driver, and I'm not able to find any others.

 Also, how well is the driver performing? I seem to be getting
 terrible battery life on my 2013 MBP.

 Thanks.

 Documentation/cpu-freq/intel-pstate.txt | 40 +++++++++++++++++++++++++++++++++
 1 file changed, 40 insertions(+)
 create mode 100644 Documentation/cpu-freq/intel-pstate.txt

diff --git a/Documentation/cpu-freq/intel-pstate.txt b/Documentation/cpu-freq/intel-pstate.txt
new file mode 100644
index 0000000..fda74ab
--- /dev/null
+++ b/Documentation/cpu-freq/intel-pstate.txt
@@ -0,0 +1,40 @@
+Intel P-state driver
+--------------------
+
+This driver implements a scaling driver with an internal governor for
+Intel Core processors.  The driver follows the same model as the
+Transmeta scaling driver (longrun.c) and implements the setpolicy()
+instead of target().  Scaling drivers that implement setpolicy() are
+assmuned to implement internal governors by the cpufreq core. All the
+logic for selecting the current P state is contained within the driver
+no external governor is used by the cpufreq core.
+
+Only Intel SandyBridge+ processors are supported.
+
+New sysfs files for controlling P state selection have been added to
+/sys/devices/system/cpu/intel_pstate/
+
+      max_perf_pct: limits the maximum P state that will be requested by
+      the driver stated as a percentage of the avail performance.
+
+      min_perf_pct: limits the minimum P state that will be  requested by
+      the driver stated as a percentage of the avail performance.
+
+      no_turbo: limits the driver to selecting P states below the turbo
+      frequency range.
+
+The units for these for these files are purposely abstract and stated
+in terms of available performance and not frequency.  In idea that
+frequency can be set to a single frequency is a fiction for Intel Core
+processors. Even if the scaling driver selects a single P state the
+actual frequency the processor will run at is selected by the
+processor itself.
+
+New debugfs files have also been added to /sys/kernel/debug/pstate_snb/
+
+      deadband
+      d_gain_pct
+      i_gain_pct
+      p_gain_pct
+      sample_rate_ms
+      setpoint
-- 
1.8.5.2.227.g53f3478


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

* Re: [PATCH] Documentation/cpu-freq: add intel-pstate.txt
  2014-01-03 11:31 [PATCH] Documentation/cpu-freq: add intel-pstate.txt Ramkumar Ramachandra
@ 2014-01-03 12:09 ` Rafael J. Wysocki
  2014-01-03 17:46   ` Dirk Brandewie
  2014-01-03 17:29 ` Randy Dunlap
  1 sibling, 1 reply; 4+ messages in thread
From: Rafael J. Wysocki @ 2014-01-03 12:09 UTC (permalink / raw)
  To: Ramkumar Ramachandra, Dirk Brandewie; +Cc: LKML, Viresh Kumar, Linux PM list

On Friday, January 03, 2014 05:01:13 PM Ramkumar Ramachandra wrote:
> The Intel P-state driver is currently undocumented. Add some
> documentation based on the cover-letter sent with the original series.
> 
> Cc: Dirk Brandewie <dirk.brandewie@gmail.com>

Dirk, what do you think?

> Cc: Rafael J. Wysocki <rjw@rjwysocki.net>
> Cc: Viresh Kumar <viresh.kumar@linaro.org>
> Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
> ---
>  I was looking for documentation on my cpufreq driver, intel_pstate,
>  and found nothing: so, here's a small start. Although the original
>  message said SandyBridge only, I noticed that
>  /sys/devices/system/cpu/cpu0/cpufreq/scaling_driver says intel_pstate
>  on my IvyBridge; so I figured subsequent patches introduced support
>  for SandyBridge+.
> 
>  I noticed two "policies" in the code: CPUFREQ_POLICY_PERFORMANCE and
>  CPUFREQ_POLICY_POWERSAVE, but I have no idea how to switch from one
>  to the other. The userspace tool cpupower seems to be too tightly
>  tied to the acpi-cpufreq driver, and I'm not able to find any others.
> 
>  Also, how well is the driver performing? I seem to be getting
>  terrible battery life on my 2013 MBP.
> 
>  Thanks.
> 
>  Documentation/cpu-freq/intel-pstate.txt | 40 +++++++++++++++++++++++++++++++++
>  1 file changed, 40 insertions(+)
>  create mode 100644 Documentation/cpu-freq/intel-pstate.txt
> 
> diff --git a/Documentation/cpu-freq/intel-pstate.txt b/Documentation/cpu-freq/intel-pstate.txt
> new file mode 100644
> index 0000000..fda74ab
> --- /dev/null
> +++ b/Documentation/cpu-freq/intel-pstate.txt
> @@ -0,0 +1,40 @@
> +Intel P-state driver
> +--------------------
> +
> +This driver implements a scaling driver with an internal governor for
> +Intel Core processors.  The driver follows the same model as the
> +Transmeta scaling driver (longrun.c) and implements the setpolicy()
> +instead of target().  Scaling drivers that implement setpolicy() are
> +assmuned to implement internal governors by the cpufreq core. All the
> +logic for selecting the current P state is contained within the driver
> +no external governor is used by the cpufreq core.
> +
> +Only Intel SandyBridge+ processors are supported.

That's not the case any more.

> +
> +New sysfs files for controlling P state selection have been added to
> +/sys/devices/system/cpu/intel_pstate/
> +
> +      max_perf_pct: limits the maximum P state that will be requested by
> +      the driver stated as a percentage of the avail performance.
> +
> +      min_perf_pct: limits the minimum P state that will be  requested by
> +      the driver stated as a percentage of the avail performance.
> +
> +      no_turbo: limits the driver to selecting P states below the turbo
> +      frequency range.
> +

It would be good to document them in Documentation/ABI/testing/ as well.

> +The units for these for these files are purposely abstract and stated
> +in terms of available performance and not frequency.  In idea that

I would say "For contemporary Intel processor the frequency is controlled
by the processor itself and the P-states exposed to software are related to 
performance levels" instead.

> +frequency can be set to a single frequency is a fiction for Intel Core
> +processors. Even if the scaling driver selects a single P state the
> +actual frequency the processor will run at is selected by the
> +processor itself.
> +
> +New debugfs files have also been added to /sys/kernel/debug/pstate_snb/
> +
> +      deadband
> +      d_gain_pct
> +      i_gain_pct
> +      p_gain_pct
> +      sample_rate_ms
> +      setpoint
> 

Thanks!

-- 
I speak only for myself.
Rafael J. Wysocki, Intel Open Source Technology Center.

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

* Re: [PATCH] Documentation/cpu-freq: add intel-pstate.txt
  2014-01-03 11:31 [PATCH] Documentation/cpu-freq: add intel-pstate.txt Ramkumar Ramachandra
  2014-01-03 12:09 ` Rafael J. Wysocki
@ 2014-01-03 17:29 ` Randy Dunlap
  1 sibling, 0 replies; 4+ messages in thread
From: Randy Dunlap @ 2014-01-03 17:29 UTC (permalink / raw)
  To: Ramkumar Ramachandra, LKML
  Cc: Dirk Brandewie, Rafael J. Wysocki, Viresh Kumar

On 01/03/14 03:31, Ramkumar Ramachandra wrote:
> The Intel P-state driver is currently undocumented. Add some
> documentation based on the cover-letter sent with the original series.
> 
> Cc: Dirk Brandewie <dirk.brandewie@gmail.com>
> Cc: Rafael J. Wysocki <rjw@rjwysocki.net>
> Cc: Viresh Kumar <viresh.kumar@linaro.org>
> Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
> ---
> 
>  Documentation/cpu-freq/intel-pstate.txt | 40 +++++++++++++++++++++++++++++++++
>  1 file changed, 40 insertions(+)
>  create mode 100644 Documentation/cpu-freq/intel-pstate.txt
> 
> diff --git a/Documentation/cpu-freq/intel-pstate.txt b/Documentation/cpu-freq/intel-pstate.txt
> new file mode 100644
> index 0000000..fda74ab
> --- /dev/null
> +++ b/Documentation/cpu-freq/intel-pstate.txt
> @@ -0,0 +1,40 @@
> +Intel P-state driver
> +--------------------
> +
> +This driver implements a scaling driver with an internal governor for
> +Intel Core processors.  The driver follows the same model as the
> +Transmeta scaling driver (longrun.c) and implements the setpolicy()
> +instead of target().  Scaling drivers that implement setpolicy() are
> +assmuned to implement internal governors by the cpufreq core. All the

   assumed

> +logic for selecting the current P state is contained within the driver

                                                                   driver;

> +no external governor is used by the cpufreq core.
> +
> +Only Intel SandyBridge+ processors are supported.
> +
> +New sysfs files for controlling P state selection have been added to
> +/sys/devices/system/cpu/intel_pstate/
> +
> +      max_perf_pct: limits the maximum P state that will be requested by
> +      the driver stated as a percentage of the avail performance.

                                                  available

> +
> +      min_perf_pct: limits the minimum P state that will be  requested by
> +      the driver stated as a percentage of the avail performance.

                                                  available

> +
> +      no_turbo: limits the driver to selecting P states below the turbo
> +      frequency range.
> +
> +The units for these for these files are purposely abstract and stated

                       drop duplicate "for these"

> +in terms of available performance and not frequency.  In idea that

                                                         The idea

> +frequency can be set to a single frequency is a fiction for Intel Core

                                              is fiction

> +processors. Even if the scaling driver selects a single P state the
> +actual frequency the processor will run at is selected by the
> +processor itself.
> +
> +New debugfs files have also been added to /sys/kernel/debug/pstate_snb/
> +
> +      deadband
> +      d_gain_pct
> +      i_gain_pct
> +      p_gain_pct
> +      sample_rate_ms
> +      setpoint
> 


-- 
~Randy

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

* Re: [PATCH] Documentation/cpu-freq: add intel-pstate.txt
  2014-01-03 12:09 ` Rafael J. Wysocki
@ 2014-01-03 17:46   ` Dirk Brandewie
  0 siblings, 0 replies; 4+ messages in thread
From: Dirk Brandewie @ 2014-01-03 17:46 UTC (permalink / raw)
  To: Rafael J. Wysocki, Ramkumar Ramachandra; +Cc: LKML, Viresh Kumar, Linux PM list

On 01/03/2014 04:09 AM, Rafael J. Wysocki wrote:
> On Friday, January 03, 2014 05:01:13 PM Ramkumar Ramachandra wrote:
>> The Intel P-state driver is currently undocumented. Add some
>> documentation based on the cover-letter sent with the original series.
>>
>> Cc: Dirk Brandewie <dirk.brandewie@gmail.com>
>
> Dirk, what do you think?
>

This is accurate, along with the wording changes suggested by you and
Randy,
>> Cc: Rafael J. Wysocki <rjw@rjwysocki.net>
>> Cc: Viresh Kumar <viresh.kumar@linaro.org>
>> Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
>> ---
>>   I was looking for documentation on my cpufreq driver, intel_pstate,
>>   and found nothing: so, here's a small start. Although the original
>>   message said SandyBridge only, I noticed that
>>   /sys/devices/system/cpu/cpu0/cpufreq/scaling_driver says intel_pstate
>>   on my IvyBridge; so I figured subsequent patches introduced support
>>   for SandyBridge+.
>>
>>   I noticed two "policies" in the code: CPUFREQ_POLICY_PERFORMANCE and
>>   CPUFREQ_POLICY_POWERSAVE, but I have no idea how to switch from one
>>   to the other. The userspace tool cpupower seems to be too tightly
>>   tied to the acpi-cpufreq driver, and I'm not able to find any others.
>>
>>   Also, how well is the driver performing? I seem to be getting
>>   terrible battery life on my 2013 MBP.
>>
>>   Thanks.
>>
>>   Documentation/cpu-freq/intel-pstate.txt | 40 +++++++++++++++++++++++++++++++++
>>   1 file changed, 40 insertions(+)
>>   create mode 100644 Documentation/cpu-freq/intel-pstate.txt
>>
>> diff --git a/Documentation/cpu-freq/intel-pstate.txt b/Documentation/cpu-freq/intel-pstate.txt
>> new file mode 100644
>> index 0000000..fda74ab
>> --- /dev/null
>> +++ b/Documentation/cpu-freq/intel-pstate.txt
>> @@ -0,0 +1,40 @@
>> +Intel P-state driver
>> +--------------------
>> +
>> +This driver implements a scaling driver with an internal governor for
>> +Intel Core processors.  The driver follows the same model as the
>> +Transmeta scaling driver (longrun.c) and implements the setpolicy()
>> +instead of target().  Scaling drivers that implement setpolicy() are
>> +assmuned to implement internal governors by the cpufreq core. All the
>> +logic for selecting the current P state is contained within the driver
>> +no external governor is used by the cpufreq core.
>> +
>> +Only Intel SandyBridge+ processors are supported.
>
> That's not the case any more.

SandyBridge+ is accurate "only SandyBridge" is not

>
>> +
>> +New sysfs files for controlling P state selection have been added to
>> +/sys/devices/system/cpu/intel_pstate/
>> +
>> +      max_perf_pct: limits the maximum P state that will be requested by
>> +      the driver stated as a percentage of the avail performance.
>> +
>> +      min_perf_pct: limits the minimum P state that will be  requested by
>> +      the driver stated as a percentage of the avail performance.
>> +
>> +      no_turbo: limits the driver to selecting P states below the turbo
>> +      frequency range.
>> +
>
> It would be good to document them in Documentation/ABI/testing/ as well.
>
>> +The units for these for these files are purposely abstract and stated
>> +in terms of available performance and not frequency.  In idea that
>
> I would say "For contemporary Intel processor the frequency is controlled
> by the processor itself and the P-states exposed to software are related to
> performance levels" instead.
>
>> +frequency can be set to a single frequency is a fiction for Intel Core
>> +processors. Even if the scaling driver selects a single P state the
>> +actual frequency the processor will run at is selected by the
>> +processor itself.
>> +
>> +New debugfs files have also been added to /sys/kernel/debug/pstate_snb/
>> +
>> +      deadband
>> +      d_gain_pct
>> +      i_gain_pct
>> +      p_gain_pct
>> +      sample_rate_ms
>> +      setpoint
>>
>
> Thanks!
>


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

end of thread, other threads:[~2014-01-03 17:46 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-01-03 11:31 [PATCH] Documentation/cpu-freq: add intel-pstate.txt Ramkumar Ramachandra
2014-01-03 12:09 ` Rafael J. Wysocki
2014-01-03 17:46   ` Dirk Brandewie
2014-01-03 17:29 ` Randy Dunlap

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.