KDE4 power consumption issues

Sebastian Kuegler sebas at kde.org
Sun Nov 11 15:49:27 GMT 2007


I've had a look at how KDE4 performs on laptops, using the powertop utility. 
KDE4 currently performs poorly WRT to the number of wakeups, the good news is 
that large parts can probably be blamed on knotify4 not playing nicely yet. 

Here are some more detailed results:

Wakeups per second

		KDE3	KDE4 (composited)	KDE4 (no composite)
------------------------------------------------------------------------
KNotify(4):	.4	887 (!)			955
KWin		1	70			0
Total:		41	1260 (!)		1108 (!)	

Time in C3	99.8%	82.9%			93.3%

(lower numbers == better, except for the C3 time, where higher percentage is 
better) The tests have been run with a fully-loaded KDE desktop, some 
applications open (konqi, kwrite, konsole, mostly). The results are not 100% 
accurate, but should give a fairly good idea of how we perform currently.

In my data, KDE4 wakes up the CPU less than without compositing, this is 
probably measurement errors. In other test runs, I've seen the number of 
wakeups go down when I disabled the composite features in kwin.

The worst offender in KDE4 is obviously knotify. KWin composite doesn't play 
really nice either (on an idle desktop, it should sleep, no?) Konsole, kwrite 
and konqueror are also not totally quite yet, they're performing a bit worse 
than their KDE3 counterparts, not sure why.

I've attached more powertop output if you want to have a look. If you're 
interested in more detailed test results, let me know.

The system is a Thinkpad T61, Core Duo, running Linux 2.6.22.10 from 
kernel.org.
-- 
sebas

 http://www.kde.org | http://vizZzion.org |  GPG Key ID: 9119 0EF9 
-------------- next part --------------

     PowerTOP version 1.8       (C) 2007 Intel Corporation

Cn                Avg residency       P-states (frequencies)
C0 (cpu running)        ( 0.2%)
C1                0.0ms ( 0.0%)
C2                0.0ms ( 0.0%)
C3               35.2ms (99.8%)


Wakeups-from-idle per second : 28.4     interval: 20.0s
no ACPI power usage estimate available

Top causes for wakeups:
  55.2% ( 18.4)       <interrupt> : uhci_hcd:usb2, iwl3945, HDA Intel
   4.5% (  1.5)     <kernel core> : queue_delayed_work_on (delayed_work_timer_fn)
   4.5% (  1.5)    wpa_supplicant : schedule_timeout (process_timeout)
   4.5% (  1.5)             s2ram : queue_delayed_work_on (delayed_work_timer_fn)
   4.5% (  1.5)         gpg-agent : schedule_timeout (process_timeout)
   3.0% (  1.0)        atieventsd : schedule_timeout (process_timeout)
   3.0% (  1.0)            dhcdbd : schedule_timeout (process_timeout)
   3.0% (  1.0)              kwin : schedule_timeout (process_timeout)
   3.0% (  1.0)          kwrapper : do_nanosleep (hrtimer_wakeup)
   2.8% (  0.9)       <interrupt> : acpi
   1.5% (  0.5)               gpm : do_nanosleep (hrtimer_wakeup)
   1.5% (  0.5)           iwl3945 : ieee80211_sta_work (ieee80211_sta_timer)
   1.5% (  0.5)             spamd : schedule_timeout (process_timeout)
   1.2% (  0.4)           knotify : schedule_timeout (process_timeout)
   0.9% (  0.3)              kded : schedule_timeout (process_timeout)
   0.7% (  0.2)       <interrupt> : ahci, uhci_hcd:usb1, yenta, fglrx
   0.7% (  0.2)     <kernel core> : neigh_table_init_no_netlink (neigh_periodic_timer)
   0.7% (  0.2)   <kernel module> : neigh_table_init_no_netlink (neigh_periodic_timer)
   0.6% (  0.2)    adept_notifier : schedule_timeout (process_timeout)
   0.3% (  0.1)         ssh-agent : schedule_timeout (process_timeout)
   0.3% (  0.1)         ssh-agent : do_setitimer (it_real_fn)
   0.3% (  0.1)         iwl3945/0 : sta_info_start (sta_info_cleanup)
   0.3% (  0.1)         klauncher : schedule_timeout (process_timeout)
   0.1% (  0.1)     <kernel core> : flow_cache_init (flow_cache_new_hashrnd)
   0.1% (  0.1)     <kernel core> : seqgen_init (delayed_work_timer_fn)
   0.1% (  0.1)              hald : schedule_timeout (process_timeout)
   0.1% (  0.1)     <kernel core> : page_writeback_init (wb_timer_fn)
   0.1% (  0.1)           kontact : schedule_timeout (process_timeout)


===========================================================================================
===========================================================================================
===========================================================================================
===========================================================================================

KDE4 (kwin-composite):

Cn                Avg residency       P-states (frequencies)
C0 (cpu running)        ( 8.4%)
C1                0.0ms ( 0.0%)
C2                0.7ms ( 8.7%)
C3                0.7ms (82.9%)


Wakeups-from-idle per second : 1260.8   interval: 10.0s
no ACPI power usage estimate available

Top causes for wakeups:
  58.7% (887.1)          knotify4 : do_nanosleep (hrtimer_wakeup)
  24.3% (366.9)       <interrupt> : extra timer interrupt
   4.7% ( 70.6)              kwin : schedule_timeout (process_timeout)
   4.5% ( 67.4)       <interrupt> : uhci_hcd:usb2, iwl3945, HDA Intel
   2.1% ( 31.7)              Xorg : do_setitimer (it_real_fn)
   1.4% ( 20.4)         konqueror : schedule_timeout (process_timeout)
   1.3% ( 20.1)            kwrite : schedule_timeout (process_timeout)
   1.3% ( 20.0)           konsole : schedule_timeout (process_timeout)
   0.4% (  6.0)          knotify4 : schedule_timeout (process_timeout)
   0.2% (  3.6)            plasma : schedule_timeout (process_timeout)
   0.2% (  2.5)             kded4 : schedule_timeout (process_timeout)
   0.1% (  1.5)     <kernel core> : queue_delayed_work_on (delayed_work_timer_fn)
   0.1% (  1.5)             s2ram : queue_delayed_work_on (delayed_work_timer_fn)
   0.1% (  1.5)    wpa_supplicant : schedule_timeout (process_timeout)
   0.1% (  1.5)         gpg-agent : schedule_timeout (process_timeout)
   0.1% (  1.0)           klipper : schedule_timeout (process_timeout)
   0.1% (  1.0)        atieventsd : schedule_timeout (process_timeout)
   0.1% (  1.0)         kwrapper4 : do_nanosleep (hrtimer_wakeup)
   0.1% (  1.0)            dhcdbd : schedule_timeout (process_timeout)
   0.0% (  0.5)       <interrupt> : ahci, uhci_hcd:usb1, yenta, fglrx
   0.0% (  0.5)               gpm : do_nanosleep (hrtimer_wakeup)
   0.0% (  0.5)             spamd : schedule_timeout (process_timeout)


===========================================================================================
===========================================================================================
===========================================================================================
===========================================================================================
KDE4 (kwin-no-composite)

Cn                Avg residency       P-states (frequencies)
C0 (cpu running)        ( 6.0%)
C1                0.0ms ( 0.0%)
C2                0.9ms ( 0.7%)
C3                0.8ms (93.3%)


Wakeups-from-idle per second : 1108.9   interval: 10.0s
no ACPI power usage estimate available

Top causes for wakeups:
  63.9% (955.9)          knotify4 : do_nanosleep (hrtimer_wakeup)
  25.8% (386.5)       <interrupt> : extra timer interrupt
   4.5% ( 67.5)       <interrupt> : uhci_hcd:usb2, iwl3945, HDA Intel
   1.3% ( 20.1)           konsole : schedule_timeout (process_timeout)
   1.3% ( 20.1)            kwrite : schedule_timeout (process_timeout)
   1.3% ( 20.0)         konqueror : schedule_timeout (process_timeout)
   0.4% (  6.0)          knotify4 : schedule_timeout (process_timeout)
   0.2% (  2.6)            plasma : schedule_timeout (process_timeout)
   0.2% (  2.4)             kded4 : schedule_timeout (process_timeout)
   0.1% (  1.9)       <interrupt> : acpi
   0.1% (  1.6)    wpa_supplicant : schedule_timeout (process_timeout)
   0.1% (  1.5)             s2ram : queue_delayed_work_on (delayed_work_timer_fn)
   0.1% (  1.5)     <kernel core> : queue_delayed_work_on (delayed_work_timer_fn)
   0.1% (  1.5)         gpg-agent : schedule_timeout (process_timeout)
   0.1% (  1.0)        atieventsd : schedule_timeout (process_timeout)
   0.1% (  1.0)         kwrapper4 : do_nanosleep (hrtimer_wakeup)
   0.1% (  1.0)            dhcdbd : schedule_timeout (process_timeout)
   0.1% (  1.0)           klipper : schedule_timeout (process_timeout)
   0.0% (  0.5)             spamd : schedule_timeout (process_timeout)
   0.0% (  0.5)           iwl3945 : ieee80211_sta_work (ieee80211_sta_timer)
   0.0% (  0.5)               gpm : do_nanosleep (hrtimer_wakeup)
   0.0% (  0.4)              Xorg : do_setitimer (it_real_fn)


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 481 bytes
Desc: This is a digitally signed message part.
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20071111/24eb0a97/attachment.sig>


More information about the kde-core-devel mailing list