linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
* Re: Why is the e500v2 core not using cpuidle?
@ 2013-02-07 12:19 Thomas Waldecker
  2013-02-07 18:01 ` Scott Wood
  0 siblings, 1 reply; 5+ messages in thread
From: Thomas Waldecker @ 2013-02-07 12:19 UTC (permalink / raw)
  To: Scott Wood; +Cc: Linux PPC dev mailing list (linuxppc-dev@lists.ozlabs.org)

Hi Scott,

I measured the power consumption of the whole system on the tqmp2020 ( http=
://tq-group.com/tqmp2020 )
with a QorIQ P2020.

Kernel:
root@generic-powerpc-e500v2:/sys/power# uname -a
Linux generic-powerpc-e500v2 3.7.0-rc8-00004-g6e93414 #4 SMP Tue Dec 11 08:=
53:23 CET 2012 ppc GNU/Linux
root@generic-powerpc-e500v2:/sys/power# cat /etc/issue
ELDK 5.2.1 \n \l

In idle using doze I got:
545mA, 18V =3D> 9.81W

In idle using nap I got:
500mA, 18V =3D> 9W

That's a difference of 0.81W,
0.81W/9.81W =3D 0.083 (8.3 %)

> The only way you'll get into sleep mode is through /sys/power/state.

How can I use this interface?

root@generic-powerpc-e500v2:/sys/power# ls -la
total 0
drwxr-xr-x  2 root root    0 Feb  1 15:39 .
dr-xr-xr-x 12 root root    0 Feb  1 15:19 ..
-rw-r--r--  1 root root 4096 Feb  1 15:39 state
root@generic-powerpc-e500v2:/sys/power# cat state
root@generic-powerpc-e500v2:/sys/power# echo "sleep" > state
-sh: echo: write error: Function not implemented
root@generic-powerpc-e500v2:/sys/power# echo 0 > state
-sh: echo: write error: Function not implemented
root@generic-powerpc-e500v2:/sys/power#

Kind regards
Thomas Waldecker

^ permalink raw reply	[flat|nested] 5+ messages in thread
* AW: Why is the e500v2 core not using cpuidle?
  2013-02-01 18:15 ` Scott Wood
@ 2013-02-02  9:41 Thomas Waldecker
  2013-02-04 20:02 ` Scott Wood
  -1 siblings, 1 reply; 5+ messages in thread
From: Thomas Waldecker @ 2013-02-02  9:41 UTC (permalink / raw)
  To: Scott Wood; +Cc: Linux PPC dev mailing list (linuxppc-dev@lists.ozlabs.org)

Hi Scott,=0A=
=0A=
>> Why is there no support for the cpuidle framework?=0A=
> Because nobody implemented it. :-)=0A=
That's the reason I thought before :-)=0A=
=0A=
> The only reason I can think of to implement it on this chip would be to=
=0A=
> dynamically choose when to enter nap versus doze, rather than always=0A=
> just using doze.  It's not clear whether the difference in power=0A=
> savings is worth it -- do you have any way of measuring?=0A=
=0A=
Is the e500 only using doze? There are comments in the file =0A=
arch/powerpc/kernel/idle_e500.S=0A=
which are stating:=0A=
/*  Go to NAP or DOZE now */=0A=
or=0A=
/* Return from NAP/DOZE ...*/=0A=
=0A=
and because of this comments I thought that both modes are in use.=0A=
=0A=
I have a way of measuring the power and it is also a small part of my maste=
rthesis,=0A=
but it is not very meaningful because at the measuring point there are othe=
r peripheral=0A=
components too.=0A=
=0A=
According to the comments can I activate the nap mode somehow?=0A=
=0A=
>> How can I debug the e500 idle modes?=0A=
>> Are there any statistics?=0A=
> Top reports idle percentage...=0A=
If the e500 and e500v2 are indeed using only the doze mode it =0A=
would be enough statistics.=0A=
=0A=
>> I already ran PowerTOP on a QorIQ P2020 but it's almost useless=0A=
>> because the information is missing.=0A=
> What information are you looking for?=0A=
=0A=
On my laptop I get detailled idle stats in PowerTOP 2.2=0A=
=0A=
          Package   |            CPU 0=0A=
POLL        0.0%    | POLL        0.0%    0.0 ms=0A=
C1          0.7%    | C1          0.4%    0.2 ms=0A=
C2         86.0%    | C2         86.8%    1.4 ms=0A=
=0A=
                    |            CPU 1=0A=
                    | POLL        0.0%    0.4 ms=0A=
                    | C1          0.9%    0.6 ms=0A=
                    | C2         85.2%    1.5 ms=0A=
=0A=
It is using the sysfs interface=0A=
=0A=
thomas@localhost /s/d/s/c/c/cpuidle> pwd=0A=
/sys/devices/system/cpu/cpu0/cpuidle=0A=
thomas@localhost /s/d/s/c/c/cpuidle> tree=0A=
.=0A=
=86=80=80 state0=0A=
=81=9A=9A =86=80=80 desc=0A=
=81=9A=9A =86=80=80 disable=0A=
=81=9A=9A =86=80=80 latency=0A=
=81=9A=9A =86=80=80 name=0A=
=81=9A=9A =86=80=80 power=0A=
=81=9A=9A =86=80=80 time=0A=
=81=9A=9A =84=80=80 usage=0A=
=86=80=80 state1=0A=
    (same as state0)=0A=
=84=80=80 state2=0A=
    (also same as state 0)=0A=
thomas@localhost /s/d/s/c/c/cpuidle> cat */name=0A=
POLL=0A=
C1=0A=
C2=0A=
=0A=
Such statistics would be great for the doze, nap (and sleep for the whole p=
ackage).=0A=
=0A=
Kind regards,=0A=
Thomas=

^ permalink raw reply	[flat|nested] 5+ messages in thread
* Why is the e500v2 core  not using cpuidle?
@ 2013-02-01 12:06 Thomas Waldecker
  2013-02-01 18:15 ` Scott Wood
  0 siblings, 1 reply; 5+ messages in thread
From: Thomas Waldecker @ 2013-02-01 12:06 UTC (permalink / raw)
  To: Linux PPC dev mailing list (linuxppc-dev@lists.ozlabs.org)

Hi,

As part of my masterthesis I was just looking around the kernel=20
sources for cpuidle and figured out that the only CPU in the PowerPC=20
architecture using the cpuidle framework is the pseries.

I assume the e500v2 core is using the idle modes=20
in arch/powerpc/kernel/idle_e500.S

Why is there no support for the cpuidle framework?

How can I debug the e500 idle modes?=20
Are there any statistics?

I already ran PowerTOP on a QorIQ P2020 but it's almost useless=20
because the information is missing.

Kind regards,
Thomas Waldecker

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

end of thread, other threads:[~2013-02-07 18:02 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-02-07 12:19 Why is the e500v2 core not using cpuidle? Thomas Waldecker
2013-02-07 18:01 ` Scott Wood
  -- strict thread matches above, loose matches on Subject: below --
2013-02-02  9:41 AW: " Thomas Waldecker
2013-02-04 20:02 ` Scott Wood
2013-02-01 12:06 Thomas Waldecker
2013-02-01 18:15 ` Scott Wood

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