N900 power usage entrail reading skills (aka powertop output)

N900 power usage entrail reading skills (aka powertop output)

Marius Gedminas
Karma: 552
2010-04-26 14:47 UTC
I get the feeling that my N900 eats through its battery quicker than it
used to. I'm not sure when it started, maybe when I upgraded to
RX-51_2009SE_3.2010.02-8_PR_MR0 firmware? It could very well be some
app's fault.

Here's what powertop says. Note that the CPU is spending almost 100%
time at 500 MHz. Any clues? The word 'mmc' shows up quite a lot and
pretty high up, but what could be causing all that IO, if that's IO I'm
seeing? top is not very informative; the highest-CPU-using process is
'top' itself at 1.5%. iotop doesn't run on Maemo (Linux >= 2.6.20 with
I/O accounting support: Not found)

Powertop 1.13.3
status: Unknown job: pmtrackerdaemon
Sleeping for 11 seconds before sampling
Collecting data for 30 seconds
Sample interval was 00m 30s 9217us

C# | Ratio | Avg/dura | Frequency | Ratio
--------+--------+----------+-----------+--------+
C0 | 43.3% | | 600 MHz | 3.1% |
C1 | 4.6% | 0.5ms | 550 MHz | 0.0% |
C2 | 45.2% | 4.7ms | 500 MHz | 96.4% |
C3 | 6.8% | 19.1ms | 250 MHz | 0.5% |
C4 | 0.0% | |

IRQ# | Activity | Type | Name
--------+------------+----------------+---------------------------
12 | 7410 | INTC | DMA
86 | 5456 | INTC | mmc1
37 | 2433 | INTC | gp
11 | 611 | INTC | prcm
56 | 90 | INTC | i2c_omap
57 | 43 | INTC | i2c_omap
202 | 19 | GPIO | wl1251

PID# | Activity | Name | Function Entry (Expire)
--------+------------+----------------+---------------------------
0 | 2365 | <kernel core> | tick_nohz_restart_sched_tick (tick_sched_timer)
492 | 192 | mmcqd | cfq_completed_request (cfq_idle_slice_timer)
37 | 94D| awk | cpufreq_governor_dbs (delayed_work_timer_fn)
1087 | 30 | hildon-desktop | schedule_hrtimeout_range (hrtimer_wakeup)
492 | 22 | mmcqd | queue_delayed_work (delayed_work_timer_fn)
464 | 12 | wl12xx | schedule_timeout (process_timeout)
464 | 12 | wl12xx | queue_delayed_work (delayed_work_timer_fn)
1370 | 11 |hildon-thumbnai | blk_plug_device (blk_unplug_timeout)
25268 | 10 | skyhost | futex_wait (hrtimer_wakeup)
25262 | 8 | skyhost | do_nanosleep (hrtimer_wakeup)
706 | 8 | bme_RX-51 | sys_timer_settime (posix_timer_fn)
0 | 7 | <kernel core> | hrtimer_start (tick_sched_timer)
29 | 6 | mount | setup_wb_timer (wb_timer_fn)
464 | 4 | wl12xx | schedule_timeout (process_timeout)
1140 | 4 | wlancond | ieee80211_ioctl_siwpower (ieee80211_dynamic_ps_timer)
747 | 4 | avahi-daemon | schedule_hrtimeout_range (hrtimer_wakeup)
686 | 3 | dsme | do_nanosleep (hrtimer_wakeup)
686 | 3 | dsme | __enqueue_rt_entity (sched_rt_period_timer)
17887 | 3 | pdflush | blk_plug_device (blk_unplug_timeout)
15 | 3 | kswapd0 | schedule_timeout (process_timeout)
0 | 2 | <kernel core> | queue_delayed_work (delayed_work_timer_fn)
706 | 2 | bme_RX-51 | do_nanosleep (hrtimer_wakeup)
706 | 2 | bme_RX-51 | schedule_timeout (process_timeout)
10 | 2 | omap2_mcspi | neigh_add_timer (neigh_timer_handler)
1 | 2D| <kernel core> | queue_delayed_work (delayed_work_timer_fn)
1370 | 2 |hildon-thumbnai | journal_get_write_access (commit_timeout)
1584 | 2 | FBReader | schedule_hrtimeout_range (hrtimer_wakeup)
25477 | 1 | sshd | sk_reset_timer (tcp_write_timer)
706 | 1 | bme_RX-51 | sys_timer_settime (posix_timer_fn)
1097 | 1 |e-addressbook-f | schedule_timeout (process_timeout)
1370 | 1 |hildon-thumbnai | schedule_timeout (process_timeout)
17887 | 1 | pdflush | journal_get_write_access (commit_timeout)
1 | 1 | <kernel core> | inet_initpeers (peer_check_expire)
716 | 1 | dbus-daemon | schedule_hrtimeout_range (hrtimer_wakeup)
927 | 1 | dbus-daemon | schedule_hrtimeout_range (hrtimer_wakeup)
25557 | 1 | powertop | do_nanosleep (hrtimer_wakeup)

Power domain activity breakdown
Domain | % of time spent in states
--------+---------+---------+---------+---------+----------
usbhost |OFF: 100%|RET: 0%|INA: 0%| ON: 0%| now:(OFF)
sgx |OFF: 100%|RET: 0%|INA: 0%| ON: 0%| now:(OFF)
per |OFF: 0%|RET: 51%|INA: 0%| ON: 48%| now:(ON)
dss |OFF: 100%|RET: 0%|INA: 0%| ON: 0%| now:(OFF)
cam |OFF: 100%|RET: 0%|INA: 0%| ON: 0%| now:(OFF)
core |OFF: 0%|RET: 0%|INA: 0%| ON: 100%| now:(ON)
neon |OFF: 0%|RET: 6%|INA: 44%| ON: 48%| now:(ON)
mpu |OFF: 0%|RET: 6%|INA: 44%| ON: 48%| now:(ON)
iva2 |OFF: 100%|RET: 0%|INA: 0%| ON: 0%| now:(OFF)

Clock activity breakdown at end of period
Domain | Active clocks
--------+---------------+---------------+------------------
core | SDRC | HSOTGUSB_IDLE | OMAPCTRL
| MAILBOXES | MMC2 |
core3 | USBTLL
wkup | GPT1 | 32KSYNC | GPIO1
| WDT1 |
ckgen | CORE | PERI | 96M
| 48M | 12M | 54M
| EMU_CORE |
per | GPIO2 | GPIO3 | GPIO4
| GPIO5 | GPIO6 |

Total wakeups 18886, 629.5/s | IRQ 16062, 535.4/s | Timers 2824, 94.1/s
HW wakeups 99, 3.3/s | Real gp_timers expired 129, 4.3/s


I generally have the following apps running:
- FBReader
- xterm with vim inside

and then there's
- WiFi and/or 3G connectivity (Bluetooth generally off)
- 5 IM accounts (Jabber, Google Talk, Facebook, Skype, Empathy
link-local-thing-that-I-never-remember-the-name-of) with GPS
positioning disabled
- Avahi, SSH and Battery Eye daemons
- Foreca weather, Facebook, Personal IP address and GPRS data monitor
applets.


Marius Gedminas
--
Cheap, Fast, Good -- pick two.

  •  Reply

Re: N900 power usage entrail reading skills (aka powertop output)

Mustali Dalal
Karma: 996
2010-04-26 16:54 UTC
Hi,

On Mon, Apr 26, 2010 at 10:47 AM, Marius Gedminas <marius@pov.lt> wrote:
> I get the feeling that my N900 eats through its battery quicker than it
> used to.  I'm not sure when it started, maybe when I upgraded to
> RX-51_2009SE_3.2010.02-8_PR_MR0 firmware?  It could very well be some
> app's fault.
>

I have seen this happen on a couple of occasions. Restarting
hildon-desktop (killall hildon-desktop) seems to resolve it.


> Here's what powertop says.  Note that the CPU is spending almost 100%
> time at 500 MHz.  Any clues?  The word 'mmc' shows up quite a lot and
> pretty high up, but what could be causing all that IO, if that's IO I'm
> seeing?  top is not very informative; the highest-CPU-using process is
> 'top' itself at 1.5%.  iotop doesn't run on Maemo (Linux >= 2.6.20 with
> I/O accounting support: Not found)
>
> Powertop 1.13.3
> status: Unknown job: pmtrackerdaemon
> Sleeping for 11 seconds before sampling
> Collecting data for 30 seconds
> Sample interval was 00m 30s 9217us
>
> C#      | Ratio  | Avg/dura | Frequency | Ratio
> --------+--------+----------+-----------+--------+
>     C0 |  43.3% |          |   600 MHz |   3.1% |
>     C1 |   4.6% |    0.5ms |   550 MHz |   0.0% |
>     C2 |  45.2% |    4.7ms |   500 MHz |  96.4% |
>     C3 |   6.8% |   19.1ms |   250 MHz |   0.5% |
>     C4 |   0.0% |          |
>
> IRQ#    | Activity   | Type           | Name
> --------+------------+----------------+---------------------------
>     12 |       7410 |           INTC | DMA
>     86 |       5456 |           INTC | mmc1
>     37 |       2433 |           INTC | gp
>     11 |        611 |           INTC | prcm
>     56 |         90 |           INTC | i2c_omap
>     57 |         43 |           INTC | i2c_omap
>    202 |         19 |           GPIO | wl1251
>
> PID#    | Activity   | Name           | Function Entry (Expire)
> --------+------------+----------------+---------------------------
>      0 |       2365 |  <kernel core> | tick_nohz_restart_sched_tick (tick_sched_timer)
>    492 |        192 |          mmcqd | cfq_completed_request (cfq_idle_slice_timer)
>     37 |         94D|            awk | cpufreq_governor_dbs (delayed_work_timer_fn)
>   1087 |         30 | hildon-desktop | schedule_hrtimeout_range (hrtimer_wakeup)
>    492 |         22 |          mmcqd | queue_delayed_work (delayed_work_timer_fn)
>    464 |         12 |         wl12xx | schedule_timeout (process_timeout)
>    464 |         12 |         wl12xx | queue_delayed_work (delayed_work_timer_fn)
>   1370 |         11 |hildon-thumbnai | blk_plug_device (blk_unplug_timeout)
>  25268 |         10 |        skyhost | futex_wait (hrtimer_wakeup)
>  25262 |          8 |        skyhost | do_nanosleep (hrtimer_wakeup)
>    706 |          8 |      bme_RX-51 | sys_timer_settime (posix_timer_fn)
>      0 |          7 |  <kernel core> | hrtimer_start (tick_sched_timer)
>     29 |          6 |          mount | setup_wb_timer (wb_timer_fn)
>    464 |          4 |         wl12xx | schedule_timeout (process_timeout)
>   1140 |          4 |       wlancond | ieee80211_ioctl_siwpower (ieee80211_dynamic_ps_timer)
>    747 |          4 |   avahi-daemon | schedule_hrtimeout_range (hrtimer_wakeup)
>    686 |          3 |           dsme | do_nanosleep (hrtimer_wakeup)
>    686 |          3 |           dsme | __enqueue_rt_entity (sched_rt_period_timer)
>  17887 |          3 |        pdflush | blk_plug_device (blk_unplug_timeout)
>     15 |          3 |        kswapd0 | schedule_timeout (process_timeout)
>      0 |          2 |  <kernel core> | queue_delayed_work (delayed_work_timer_fn)
>    706 |          2 |      bme_RX-51 | do_nanosleep (hrtimer_wakeup)
>    706 |          2 |      bme_RX-51 | schedule_timeout (process_timeout)
>     10 |          2 |    omap2_mcspi | neigh_add_timer (neigh_timer_handler)
>      1 |          2D|  <kernel core> | queue_delayed_work (delayed_work_timer_fn)
>   1370 |          2 |hildon-thumbnai | journal_get_write_access (commit_timeout)
>   1584 |          2 |       FBReader | schedule_hrtimeout_range (hrtimer_wakeup)
>  25477 |          1 |           sshd | sk_reset_timer (tcp_write_timer)
>    706 |          1 |      bme_RX-51 | sys_timer_settime (posix_timer_fn)
>   1097 |          1 |e-addressbook-f | schedule_timeout (process_timeout)
>   1370 |          1 |hildon-thumbnai | schedule_timeout (process_timeout)
>  17887 |          1 |        pdflush | journal_get_write_access (commit_timeout)
>      1 |          1 |  <kernel core> | inet_initpeers (peer_check_expire)
>    716 |          1 |    dbus-daemon | schedule_hrtimeout_range (hrtimer_wakeup)
>    927 |          1 |    dbus-daemon | schedule_hrtimeout_range (hrtimer_wakeup)
>  25557 |          1 |       powertop | do_nanosleep (hrtimer_wakeup)
>
> Power domain activity breakdown
> Domain  | % of time spent in states
> --------+---------+---------+---------+---------+----------
> usbhost |OFF: 100%|RET:   0%|INA:   0%| ON:   0%| now:(OFF)
>    sgx |OFF: 100%|RET:   0%|INA:   0%| ON:   0%| now:(OFF)
>    per |OFF:   0%|RET:  51%|INA:   0%| ON:  48%| now:(ON)
>    dss |OFF: 100%|RET:   0%|INA:   0%| ON:   0%| now:(OFF)
>    cam |OFF: 100%|RET:   0%|INA:   0%| ON:   0%| now:(OFF)
>   core |OFF:   0%|RET:   0%|INA:   0%| ON: 100%| now:(ON)
>   neon |OFF:   0%|RET:   6%|INA:  44%| ON:  48%| now:(ON)
>    mpu |OFF:   0%|RET:   6%|INA:  44%| ON:  48%| now:(ON)
>   iva2 |OFF: 100%|RET:   0%|INA:   0%| ON:   0%| now:(OFF)
>
> Clock activity breakdown at end of period
> Domain  | Active clocks
> --------+---------------+---------------+------------------
>   core |          SDRC | HSOTGUSB_IDLE |      OMAPCTRL
>        |     MAILBOXES |          MMC2 |
>  core3 |       USBTLL
>   wkup |          GPT1 |       32KSYNC |         GPIO1
>        |          WDT1 |
>  ckgen |          CORE |          PERI |           96M
>        |           48M |           12M |           54M
>        |      EMU_CORE |
>    per |         GPIO2 |         GPIO3 |         GPIO4
>        |         GPIO5 |         GPIO6 |
>
> Total wakeups  18886, 629.5/s | IRQ 16062, 535.4/s | Timers 2824,  94.1/s
> HW wakeups       99,   3.3/s |     Real gp_timers expired  129,   4.3/s
>
>
> I generally have the following apps running:
>  - FBReader
>  - xterm with vim inside
>
> and then there's
>  - WiFi and/or 3G connectivity (Bluetooth generally off)
>  - 5 IM accounts (Jabber, Google Talk, Facebook, Skype, Empathy
>   link-local-thing-that-I-never-remember-the-name-of) with GPS
>   positioning disabled
>  - Avahi, SSH and Battery Eye daemons
>  - Foreca weather, Facebook, Personal IP address and GPRS data monitor
>   applets.
>
>
> Marius Gedminas
> --
> Cheap, Fast, Good -- pick two.
>
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.9 (GNU/Linux)
>
> iD8DBQFL1aeHkVdEXeem148RAjuKAJ4koZUUakCdeRvUjbcT+9SoeNffdQCfc9nz
> nb0aB9Bf48TI2TMX4D/e2h0=
> =aKAE
> -----END PGP SIGNATURE-----
>
>
>

Cheers.
  •  Reply

Re: N900 power usage entrail reading skills (aka powertop output)

2010-04-27 12:47 UTC
On Mon, 2010-04-26 at 18:54 +0200, ext archebyte . wrote:
> Hi,
>
> On Mon, Apr 26, 2010 at 10:47 AM, Marius Gedminas <marius@pov.lt> wrote:
> > I get the feeling that my N900 eats through its battery quicker than it
> > used to. I'm not sure when it started, maybe when I upgraded to
> > RX-51_2009SE_3.2010.02-8_PR_MR0 firmware? It could very well be some
> > app's fault.
> >
>
> I have seen this happen on a couple of occasions. Restarting
> hildon-desktop (killall hildon-desktop) seems to resolve it.

Knowing the hildon-desktop code quite well, I'm skeptical if it has
nothing to do with this :) It only wakes up in response to other
applications, e.g. if someone draws on its window. And in that case, you
should fix the application drawing on its window (since it anyway wakes
up to do that).

-Kimmo

>
>
> > Here's what powertop says. Note that the CPU is spending almost 100%
> > time at 500 MHz. Any clues? The word 'mmc' shows up quite a lot and
> > pretty high up, but what could be causing all that IO, if that's IO I'm
> > seeing? top is not very informative; the highest-CPU-using process is
> > 'top' itself at 1.5%. iotop doesn't run on Maemo (Linux >= 2.6.20 with
> > I/O accounting support: Not found)
> >
> > Powertop 1.13.3
> > status: Unknown job: pmtrackerdaemon
> > Sleeping for 11 seconds before sampling
> > Collecting data for 30 seconds
> > Sample interval was 00m 30s 9217us
> >
> > C# | Ratio | Avg/dura | Frequency | Ratio
> > --------+--------+----------+-----------+--------+
> > C0 | 43.3% | | 600 MHz | 3.1% |
> > C1 | 4.6% | 0.5ms | 550 MHz | 0.0% |
> > C2 | 45.2% | 4.7ms | 500 MHz | 96.4% |
> > C3 | 6.8% | 19.1ms | 250 MHz | 0.5% |
> > C4 | 0.0% | |
> >
> > IRQ# | Activity | Type | Name
> > --------+------------+----------------+---------------------------
> > 12 | 7410 | INTC | DMA
> > 86 | 5456 | INTC | mmc1
> > 37 | 2433 | INTC | gp
> > 11 | 611 | INTC | prcm
> > 56 | 90 | INTC | i2c_omap
> > 57 | 43 | INTC | i2c_omap
> > 202 | 19 | GPIO | wl1251
> >
> > PID# | Activity | Name | Function Entry (Expire)
> > --------+------------+----------------+---------------------------
> > 0 | 2365 | <kernel core> | tick_nohz_restart_sched_tick (tick_sched_timer)
> > 492 | 192 | mmcqd | cfq_completed_request (cfq_idle_slice_timer)
> > 37 | 94D| awk | cpufreq_governor_dbs (delayed_work_timer_fn)
> > 1087 | 30 | hildon-desktop | schedule_hrtimeout_range (hrtimer_wakeup)
> > 492 | 22 | mmcqd | queue_delayed_work (delayed_work_timer_fn)
> > 464 | 12 | wl12xx | schedule_timeout (process_timeout)
> > 464 | 12 | wl12xx | queue_delayed_work (delayed_work_timer_fn)
> > 1370 | 11 |hildon-thumbnai | blk_plug_device (blk_unplug_timeout)
> > 25268 | 10 | skyhost | futex_wait (hrtimer_wakeup)
> > 25262 | 8 | skyhost | do_nanosleep (hrtimer_wakeup)
> > 706 | 8 | bme_RX-51 | sys_timer_settime (posix_timer_fn)
> > 0 | 7 | <kernel core> | hrtimer_start (tick_sched_timer)
> > 29 | 6 | mount | setup_wb_timer (wb_timer_fn)
> > 464 | 4 | wl12xx | schedule_timeout (process_timeout)
> > 1140 | 4 | wlancond | ieee80211_ioctl_siwpower (ieee80211_dynamic_ps_timer)
> > 747 | 4 | avahi-daemon | schedule_hrtimeout_range (hrtimer_wakeup)
> > 686 | 3 | dsme | do_nanosleep (hrtimer_wakeup)
> > 686 | 3 | dsme | __enqueue_rt_entity (sched_rt_period_timer)
> > 17887 | 3 | pdflush | blk_plug_device (blk_unplug_timeout)
> > 15 | 3 | kswapd0 | schedule_timeout (process_timeout)
> > 0 | 2 | <kernel core> | queue_delayed_work (delayed_work_timer_fn)
> > 706 | 2 | bme_RX-51 | do_nanosleep (hrtimer_wakeup)
> > 706 | 2 | bme_RX-51 | schedule_timeout (process_timeout)
> > 10 | 2 | omap2_mcspi | neigh_add_timer (neigh_timer_handler)
> > 1 | 2D| <kernel core> | queue_delayed_work (delayed_work_timer_fn)
> > 1370 | 2 |hildon-thumbnai | journal_get_write_access (commit_timeout)
> > 1584 | 2 | FBReader | schedule_hrtimeout_range (hrtimer_wakeup)
> > 25477 | 1 | sshd | sk_reset_timer (tcp_write_timer)
> > 706 | 1 | bme_RX-51 | sys_timer_settime (posix_timer_fn)
> > 1097 | 1 |e-addressbook-f | schedule_timeout (process_timeout)
> > 1370 | 1 |hildon-thumbnai | schedule_timeout (process_timeout)
> > 17887 | 1 | pdflush | journal_get_write_access (commit_timeout)
> > 1 | 1 | <kernel core> | inet_initpeers (peer_check_expire)
> > 716 | 1 | dbus-daemon | schedule_hrtimeout_range (hrtimer_wakeup)
> > 927 | 1 | dbus-daemon | schedule_hrtimeout_range (hrtimer_wakeup)
> > 25557 | 1 | powertop | do_nanosleep (hrtimer_wakeup)
> >
> > Power domain activity breakdown
> > Domain | % of time spent in states
> > --------+---------+---------+---------+---------+----------
> > usbhost |OFF: 100%|RET: 0%|INA: 0%| ON: 0%| now:(OFF)
> > sgx |OFF: 100%|RET: 0%|INA: 0%| ON: 0%| now:(OFF)
> > per |OFF: 0%|RET: 51%|INA: 0%| ON: 48%| now:(ON)
> > dss |OFF: 100%|RET: 0%|INA: 0%| ON: 0%| now:(OFF)
> > cam |OFF: 100%|RET: 0%|INA: 0%| ON: 0%| now:(OFF)
> > core |OFF: 0%|RET: 0%|INA: 0%| ON: 100%| now:(ON)
> > neon |OFF: 0%|RET: 6%|INA: 44%| ON: 48%| now:(ON)
> > mpu |OFF: 0%|RET: 6%|INA: 44%| ON: 48%| now:(ON)
> > iva2 |OFF: 100%|RET: 0%|INA: 0%| ON: 0%| now:(OFF)
> >
> > Clock activity breakdown at end of period
> > Domain | Active clocks
> > --------+---------------+---------------+------------------
> > core | SDRC | HSOTGUSB_IDLE | OMAPCTRL
> > | MAILBOXES | MMC2 |
> > core3 | USBTLL
> > wkup | GPT1 | 32KSYNC | GPIO1
> > | WDT1 |
> > ckgen | CORE | PERI | 96M
> > | 48M | 12M | 54M
> > | EMU_CORE |
> > per | GPIO2 | GPIO3 | GPIO4
> > | GPIO5 | GPIO6 |
> >
> > Total wakeups 18886, 629.5/s | IRQ 16062, 535.4/s | Timers 2824, 94.1/s
> > HW wakeups 99, 3.3/s | Real gp_timers expired 129, 4.3/s
> >
> >
> > I generally have the following apps running:
> > - FBReader
> > - xterm with vim inside
> >
> > and then there's
> > - WiFi and/or 3G connectivity (Bluetooth generally off)
> > - 5 IM accounts (Jabber, Google Talk, Facebook, Skype, Empathy
> > link-local-thing-that-I-never-remember-the-name-of) with GPS
> > positioning disabled
> > - Avahi, SSH and Battery Eye daemons
> > - Foreca weather, Facebook, Personal IP address and GPRS data monitor
> > applets.
> >
> >
> > Marius Gedminas
> > --
> > Cheap, Fast, Good -- pick two.
> >
> > -----BEGIN PGP SIGNATURE-----
> > Version: GnuPG v1.4.9 (GNU/Linux)
> >
> > iD8DBQFL1aeHkVdEXeem148RAjuKAJ4koZUUakCdeRvUjbcT+9SoeNffdQCfc9nz
> > nb0aB9Bf48TI2TMX4D/e2h0=
> > =aKAE
> > -----END PGP SIGNATURE-----
> >
> > _______________________________________________
> > maemo-users mailing list
> > maemo-users@maemo.org
> > https://lists.maemo.org/mailman/listinfo/maemo-users
> >
> >
>
> Cheers.

  •  Reply