All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] intel_idle: Add CPU model 54 (Atom N2000 series)
@ 2014-01-25 21:24 Jan Kiszka
  2014-02-10 15:07 ` One Thousand Gnomes
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Jan Kiszka @ 2014-01-25 21:24 UTC (permalink / raw)
  To: Len Brown; +Cc: linux-pm, Linux Kernel Mailing List

[-- Attachment #1: Type: text/plain, Size: 1000 bytes --]

From: Jan Kiszka <jan.kiszka@siemens.com>

Add CPU ID for Atom N2600/N2800 processors. Datasheets indicate support
for this, detailed information about potential quirks or limitations are
missing, though. So we just reuse the definition for the previous ATOM
series. Tests on N2800 systems showed that this addition is fine an can
reduce power consumption by about 0.25 W (personally confirmed on Intel
DN2800MT).

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
---
 drivers/idle/intel_idle.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/idle/intel_idle.c b/drivers/idle/intel_idle.c
index 797ed29..6467fc9 100644
--- a/drivers/idle/intel_idle.c
+++ b/drivers/idle/intel_idle.c
@@ -503,6 +503,7 @@ static const struct x86_cpu_id intel_idle_ids[] = {
 	ICPU(0x2f, idle_cpu_nehalem),
 	ICPU(0x2a, idle_cpu_snb),
 	ICPU(0x2d, idle_cpu_snb),
+	ICPU(0x36, idle_cpu_atom),
 	ICPU(0x3a, idle_cpu_ivb),
 	ICPU(0x3e, idle_cpu_ivb),
 	ICPU(0x3c, idle_cpu_hsw),



[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 263 bytes --]

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

* Re: [PATCH] intel_idle: Add CPU model 54 (Atom N2000 series)
  2014-01-25 21:24 [PATCH] intel_idle: Add CPU model 54 (Atom N2000 series) Jan Kiszka
@ 2014-02-10 15:07 ` One Thousand Gnomes
  2014-02-11  0:01 ` Len Brown
  2014-02-28  3:44 ` Len Brown
  2 siblings, 0 replies; 6+ messages in thread
From: One Thousand Gnomes @ 2014-02-10 15:07 UTC (permalink / raw)
  To: Jan Kiszka; +Cc: Len Brown, linux-pm, Linux Kernel Mailing List

On Sat, 25 Jan 2014 22:24:22 +0100
Jan Kiszka <jan.kiszka@web.de> wrote:

> From: Jan Kiszka <jan.kiszka@siemens.com>
> 
> Add CPU ID for Atom N2600/N2800 processors. Datasheets indicate support
> for this, detailed information about potential quirks or limitations are
> missing, though. So we just reuse the definition for the previous ATOM
> series. Tests on N2800 systems showed that this addition is fine an can
> reduce power consumption by about 0.25 W (personally confirmed on Intel
> DN2800MT).
> 
> Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>

Len - what's going on with this, and with the other identical patches
people have posted ? This still doesn't seem to be in -next which leaves
the various Cedartrail platforms still not covered by intel_idle.
Likewise the same with Oaktrail, despite patches being submitted several
times over the past two years ?

Alan

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

* Re: [PATCH] intel_idle: Add CPU model 54 (Atom N2000 series)
  2014-01-25 21:24 [PATCH] intel_idle: Add CPU model 54 (Atom N2000 series) Jan Kiszka
  2014-02-10 15:07 ` One Thousand Gnomes
@ 2014-02-11  0:01 ` Len Brown
  2014-02-11  5:43   ` Jan Kiszka
  2014-02-28  3:44 ` Len Brown
  2 siblings, 1 reply; 6+ messages in thread
From: Len Brown @ 2014-02-11  0:01 UTC (permalink / raw)
  To: Jan Kiszka; +Cc: Linux PM list, Linux Kernel Mailing List

Please send the output of these two command before and after the patch:

dmesg | grep idle
grep . /sys/devices/system/cpu/cpu0/cpuidle/*/*

How did you measure power on the the DN2800MT, and on what workload?

thanks,
-Len Brown, Intel Open Source Technology Center

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

* Re: [PATCH] intel_idle: Add CPU model 54 (Atom N2000 series)
  2014-02-11  0:01 ` Len Brown
@ 2014-02-11  5:43   ` Jan Kiszka
  2014-02-16  9:05     ` Jan Kiszka
  0 siblings, 1 reply; 6+ messages in thread
From: Jan Kiszka @ 2014-02-11  5:43 UTC (permalink / raw)
  To: Len Brown; +Cc: Linux PM list, Linux Kernel Mailing List

[-- Attachment #1: Type: text/plain, Size: 5079 bytes --]

On 2014-02-11 01:01, Len Brown wrote:
> Please send the output of these two command before and after the patch:
> 
> dmesg | grep idle
> grep . /sys/devices/system/cpu/cpu0/cpuidle/*/*

Before:
# dmesg | grep idle
[    0.648783] cpuidle: using governor ladder
[    0.648787] cpuidle: using governor menu
[    1.053215] intel_idle: does not run on family 6 model 54
[    3.285430] ACPI: acpi_idle registered with cpuidle
# grep . /sys/devices/system/cpu/cpu0/cpuidle/*/*
/sys/devices/system/cpu/cpu0/cpuidle/state0/desc:CPUIDLE CORE POLL IDLE
/sys/devices/system/cpu/cpu0/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/latency:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/name:POLL
/sys/devices/system/cpu/cpu0/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu0/cpuidle/state0/time:443
/sys/devices/system/cpu/cpu0/cpuidle/state0/usage:5
/sys/devices/system/cpu/cpu0/cpuidle/state1/desc:ACPI FFH INTEL MWAIT 0x0
/sys/devices/system/cpu/cpu0/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/latency:1
/sys/devices/system/cpu/cpu0/cpuidle/state1/name:C1
/sys/devices/system/cpu/cpu0/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/time:420944
/sys/devices/system/cpu/cpu0/cpuidle/state1/usage:1798
/sys/devices/system/cpu/cpu0/cpuidle/state2/desc:ACPI FFH INTEL MWAIT 0x10
/sys/devices/system/cpu/cpu0/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/latency:20
/sys/devices/system/cpu/cpu0/cpuidle/state2/name:C2
/sys/devices/system/cpu/cpu0/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/time:119479360
/sys/devices/system/cpu/cpu0/cpuidle/state2/usage:32863
/sys/devices/system/cpu/cpu0/cpuidle/state3/desc:ACPI FFH INTEL MWAIT 0x30
/sys/devices/system/cpu/cpu0/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/latency:100
/sys/devices/system/cpu/cpu0/cpuidle/state3/name:C3
/sys/devices/system/cpu/cpu0/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/time:1673
/sys/devices/system/cpu/cpu0/cpuidle/state3/usage:7
/sys/devices/system/cpu/cpu0/cpuidle/state4/desc:ACPI FFH INTEL MWAIT 0x52
/sys/devices/system/cpu/cpu0/cpuidle/state4/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state4/latency:140
/sys/devices/system/cpu/cpu0/cpuidle/state4/name:C4
/sys/devices/system/cpu/cpu0/cpuidle/state4/power:0
/sys/devices/system/cpu/cpu0/cpuidle/state4/time:125622
/sys/devices/system/cpu/cpu0/cpuidle/state4/usage:63

After:
# dmesg | grep idle
[    0.244640] cpuidle: using governor ladder
[    0.244645] cpuidle: using governor menu
[    0.654351] intel_idle: MWAIT substates: 0x3020220
[    0.654355] intel_idle: v0.4 model 0x36
[    0.654359] intel_idle: lapic_timer_reliable_states 0xffffffff
# grep . /sys/devices/system/cpu/cpu0/cpuidle/*/*
/sys/devices/system/cpu/cpu0/cpuidle/state0/desc:CPUIDLE CORE POLL IDLE
/sys/devices/system/cpu/cpu0/cpuidle/state0/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/latency:0
/sys/devices/system/cpu/cpu0/cpuidle/state0/name:POLL
/sys/devices/system/cpu/cpu0/cpuidle/state0/power:4294967295
/sys/devices/system/cpu/cpu0/cpuidle/state0/time:572
/sys/devices/system/cpu/cpu0/cpuidle/state0/usage:12
/sys/devices/system/cpu/cpu0/cpuidle/state1/desc:MWAIT 0x00
/sys/devices/system/cpu/cpu0/cpuidle/state1/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/latency:10
/sys/devices/system/cpu/cpu0/cpuidle/state1/name:C1E-ATM
/sys/devices/system/cpu/cpu0/cpuidle/state1/power:0
/sys/devices/system/cpu/cpu0/cpuidle/state1/time:722013
/sys/devices/system/cpu/cpu0/cpuidle/state1/usage:3132
/sys/devices/system/cpu/cpu0/cpuidle/state2/desc:MWAIT 0x10
/sys/devices/system/cpu/cpu0/cpuidle/state2/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/latency:20
/sys/devices/system/cpu/cpu0/cpuidle/state2/name:C2-ATM
/sys/devices/system/cpu/cpu0/cpuidle/state2/power:0
/sys/devices/system/cpu/cpu0/cpuidle/state2/time:4512127
/sys/devices/system/cpu/cpu0/cpuidle/state2/usage:9147
/sys/devices/system/cpu/cpu0/cpuidle/state3/desc:MWAIT 0x30
/sys/devices/system/cpu/cpu0/cpuidle/state3/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/latency:100
/sys/devices/system/cpu/cpu0/cpuidle/state3/name:C4-ATM
/sys/devices/system/cpu/cpu0/cpuidle/state3/power:0
/sys/devices/system/cpu/cpu0/cpuidle/state3/time:1996954
/sys/devices/system/cpu/cpu0/cpuidle/state3/usage:2696
/sys/devices/system/cpu/cpu0/cpuidle/state4/desc:MWAIT 0x52
/sys/devices/system/cpu/cpu0/cpuidle/state4/disable:0
/sys/devices/system/cpu/cpu0/cpuidle/state4/latency:140
/sys/devices/system/cpu/cpu0/cpuidle/state4/name:C6-ATM
/sys/devices/system/cpu/cpu0/cpuidle/state4/power:0
/sys/devices/system/cpu/cpu0/cpuidle/state4/time:266926331
/sys/devices/system/cpu/cpu0/cpuidle/state4/usage:73695

> 
> How did you measure power on the the DN2800MT, and on what workload?

I measured the input current of the board @12V. In both cases, the
system was idle in single-user mode, practically no processes running.

Jan



[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 263 bytes --]

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

* Re: [PATCH] intel_idle: Add CPU model 54 (Atom N2000 series)
  2014-02-11  5:43   ` Jan Kiszka
@ 2014-02-16  9:05     ` Jan Kiszka
  0 siblings, 0 replies; 6+ messages in thread
From: Jan Kiszka @ 2014-02-16  9:05 UTC (permalink / raw)
  To: Len Brown; +Cc: Linux PM list, Linux Kernel Mailing List

[-- Attachment #1: Type: text/plain, Size: 5393 bytes --]

On 2014-02-11 06:43, Jan Kiszka wrote:
> On 2014-02-11 01:01, Len Brown wrote:
>> Please send the output of these two command before and after the patch:
>>
>> dmesg | grep idle
>> grep . /sys/devices/system/cpu/cpu0/cpuidle/*/*
> 
> Before:
> # dmesg | grep idle
> [    0.648783] cpuidle: using governor ladder
> [    0.648787] cpuidle: using governor menu
> [    1.053215] intel_idle: does not run on family 6 model 54
> [    3.285430] ACPI: acpi_idle registered with cpuidle
> # grep . /sys/devices/system/cpu/cpu0/cpuidle/*/*
> /sys/devices/system/cpu/cpu0/cpuidle/state0/desc:CPUIDLE CORE POLL IDLE
> /sys/devices/system/cpu/cpu0/cpuidle/state0/disable:0
> /sys/devices/system/cpu/cpu0/cpuidle/state0/latency:0
> /sys/devices/system/cpu/cpu0/cpuidle/state0/name:POLL
> /sys/devices/system/cpu/cpu0/cpuidle/state0/power:4294967295
> /sys/devices/system/cpu/cpu0/cpuidle/state0/time:443
> /sys/devices/system/cpu/cpu0/cpuidle/state0/usage:5
> /sys/devices/system/cpu/cpu0/cpuidle/state1/desc:ACPI FFH INTEL MWAIT 0x0
> /sys/devices/system/cpu/cpu0/cpuidle/state1/disable:0
> /sys/devices/system/cpu/cpu0/cpuidle/state1/latency:1
> /sys/devices/system/cpu/cpu0/cpuidle/state1/name:C1
> /sys/devices/system/cpu/cpu0/cpuidle/state1/power:0
> /sys/devices/system/cpu/cpu0/cpuidle/state1/time:420944
> /sys/devices/system/cpu/cpu0/cpuidle/state1/usage:1798
> /sys/devices/system/cpu/cpu0/cpuidle/state2/desc:ACPI FFH INTEL MWAIT 0x10
> /sys/devices/system/cpu/cpu0/cpuidle/state2/disable:0
> /sys/devices/system/cpu/cpu0/cpuidle/state2/latency:20
> /sys/devices/system/cpu/cpu0/cpuidle/state2/name:C2
> /sys/devices/system/cpu/cpu0/cpuidle/state2/power:0
> /sys/devices/system/cpu/cpu0/cpuidle/state2/time:119479360
> /sys/devices/system/cpu/cpu0/cpuidle/state2/usage:32863
> /sys/devices/system/cpu/cpu0/cpuidle/state3/desc:ACPI FFH INTEL MWAIT 0x30
> /sys/devices/system/cpu/cpu0/cpuidle/state3/disable:0
> /sys/devices/system/cpu/cpu0/cpuidle/state3/latency:100
> /sys/devices/system/cpu/cpu0/cpuidle/state3/name:C3
> /sys/devices/system/cpu/cpu0/cpuidle/state3/power:0
> /sys/devices/system/cpu/cpu0/cpuidle/state3/time:1673
> /sys/devices/system/cpu/cpu0/cpuidle/state3/usage:7
> /sys/devices/system/cpu/cpu0/cpuidle/state4/desc:ACPI FFH INTEL MWAIT 0x52
> /sys/devices/system/cpu/cpu0/cpuidle/state4/disable:0
> /sys/devices/system/cpu/cpu0/cpuidle/state4/latency:140
> /sys/devices/system/cpu/cpu0/cpuidle/state4/name:C4
> /sys/devices/system/cpu/cpu0/cpuidle/state4/power:0
> /sys/devices/system/cpu/cpu0/cpuidle/state4/time:125622
> /sys/devices/system/cpu/cpu0/cpuidle/state4/usage:63
> 
> After:
> # dmesg | grep idle
> [    0.244640] cpuidle: using governor ladder
> [    0.244645] cpuidle: using governor menu
> [    0.654351] intel_idle: MWAIT substates: 0x3020220
> [    0.654355] intel_idle: v0.4 model 0x36
> [    0.654359] intel_idle: lapic_timer_reliable_states 0xffffffff
> # grep . /sys/devices/system/cpu/cpu0/cpuidle/*/*
> /sys/devices/system/cpu/cpu0/cpuidle/state0/desc:CPUIDLE CORE POLL IDLE
> /sys/devices/system/cpu/cpu0/cpuidle/state0/disable:0
> /sys/devices/system/cpu/cpu0/cpuidle/state0/latency:0
> /sys/devices/system/cpu/cpu0/cpuidle/state0/name:POLL
> /sys/devices/system/cpu/cpu0/cpuidle/state0/power:4294967295
> /sys/devices/system/cpu/cpu0/cpuidle/state0/time:572
> /sys/devices/system/cpu/cpu0/cpuidle/state0/usage:12
> /sys/devices/system/cpu/cpu0/cpuidle/state1/desc:MWAIT 0x00
> /sys/devices/system/cpu/cpu0/cpuidle/state1/disable:0
> /sys/devices/system/cpu/cpu0/cpuidle/state1/latency:10
> /sys/devices/system/cpu/cpu0/cpuidle/state1/name:C1E-ATM
> /sys/devices/system/cpu/cpu0/cpuidle/state1/power:0
> /sys/devices/system/cpu/cpu0/cpuidle/state1/time:722013
> /sys/devices/system/cpu/cpu0/cpuidle/state1/usage:3132
> /sys/devices/system/cpu/cpu0/cpuidle/state2/desc:MWAIT 0x10
> /sys/devices/system/cpu/cpu0/cpuidle/state2/disable:0
> /sys/devices/system/cpu/cpu0/cpuidle/state2/latency:20
> /sys/devices/system/cpu/cpu0/cpuidle/state2/name:C2-ATM
> /sys/devices/system/cpu/cpu0/cpuidle/state2/power:0
> /sys/devices/system/cpu/cpu0/cpuidle/state2/time:4512127
> /sys/devices/system/cpu/cpu0/cpuidle/state2/usage:9147
> /sys/devices/system/cpu/cpu0/cpuidle/state3/desc:MWAIT 0x30
> /sys/devices/system/cpu/cpu0/cpuidle/state3/disable:0
> /sys/devices/system/cpu/cpu0/cpuidle/state3/latency:100
> /sys/devices/system/cpu/cpu0/cpuidle/state3/name:C4-ATM
> /sys/devices/system/cpu/cpu0/cpuidle/state3/power:0
> /sys/devices/system/cpu/cpu0/cpuidle/state3/time:1996954
> /sys/devices/system/cpu/cpu0/cpuidle/state3/usage:2696
> /sys/devices/system/cpu/cpu0/cpuidle/state4/desc:MWAIT 0x52
> /sys/devices/system/cpu/cpu0/cpuidle/state4/disable:0
> /sys/devices/system/cpu/cpu0/cpuidle/state4/latency:140
> /sys/devices/system/cpu/cpu0/cpuidle/state4/name:C6-ATM
> /sys/devices/system/cpu/cpu0/cpuidle/state4/power:0
> /sys/devices/system/cpu/cpu0/cpuidle/state4/time:266926331
> /sys/devices/system/cpu/cpu0/cpuidle/state4/usage:73695
> 
>>
>> How did you measure power on the the DN2800MT, and on what workload?
> 
> I measured the input current of the board @12V. In both cases, the
> system was idle in single-user mode, practically no processes running.
> 
> Jan
> 
> 

Was this answering your questions sufficiently? Can it be merged?

Jan


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 263 bytes --]

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

* Re: [PATCH] intel_idle: Add CPU model 54 (Atom N2000 series)
  2014-01-25 21:24 [PATCH] intel_idle: Add CPU model 54 (Atom N2000 series) Jan Kiszka
  2014-02-10 15:07 ` One Thousand Gnomes
  2014-02-11  0:01 ` Len Brown
@ 2014-02-28  3:44 ` Len Brown
  2 siblings, 0 replies; 6+ messages in thread
From: Len Brown @ 2014-02-28  3:44 UTC (permalink / raw)
  To: Jan Kiszka; +Cc: Linux PM list, Linux Kernel Mailing List

Applied.

Note that the difference that will be noticed most will be that ACPI
on this kind of box typically offers the deepest C-state only when
on DC, and disables it on DC.  intel_idle offers it no matter
if the box is on AC or DC.

thanks,
-Len Brown, Intel Open Source Technology Center


On Sat, Jan 25, 2014 at 4:24 PM, Jan Kiszka <jan.kiszka@web.de> wrote:
> From: Jan Kiszka <jan.kiszka@siemens.com>
>
> Add CPU ID for Atom N2600/N2800 processors. Datasheets indicate support
> for this, detailed information about potential quirks or limitations are
> missing, though. So we just reuse the definition for the previous ATOM
> series. Tests on N2800 systems showed that this addition is fine an can
> reduce power consumption by about 0.25 W (personally confirmed on Intel
> DN2800MT).
>
> Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
> ---
>  drivers/idle/intel_idle.c | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/drivers/idle/intel_idle.c b/drivers/idle/intel_idle.c
> index 797ed29..6467fc9 100644
> --- a/drivers/idle/intel_idle.c
> +++ b/drivers/idle/intel_idle.c
> @@ -503,6 +503,7 @@ static const struct x86_cpu_id intel_idle_ids[] = {
>         ICPU(0x2f, idle_cpu_nehalem),
>         ICPU(0x2a, idle_cpu_snb),
>         ICPU(0x2d, idle_cpu_snb),
> +       ICPU(0x36, idle_cpu_atom),
>         ICPU(0x3a, idle_cpu_ivb),
>         ICPU(0x3e, idle_cpu_ivb),
>         ICPU(0x3c, idle_cpu_hsw),
>
>



-- 
Len Brown, Intel Open Source Technology Center

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

end of thread, other threads:[~2014-02-28  3:44 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-01-25 21:24 [PATCH] intel_idle: Add CPU model 54 (Atom N2000 series) Jan Kiszka
2014-02-10 15:07 ` One Thousand Gnomes
2014-02-11  0:01 ` Len Brown
2014-02-11  5:43   ` Jan Kiszka
2014-02-16  9:05     ` Jan Kiszka
2014-02-28  3:44 ` Len Brown

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.