when idle with screen blank, unity8 generates hundreds of context switches per second
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
unity8 (Ubuntu) |
Invalid
|
High
|
Michael Zanetti |
Bug Description
To reproduce (on maguro, Samsung Galaxy Nexus):
sudo apt-get install sysstat
ensure idle has occurred and screen is now blank, ssh in and run
pidstat -w 10 1
Linux 3.0.0-3-maguro (ubuntu-phablet) 09/02/2013 _armv7l_ (2 CPU)
03:04:13 PM UID PID cswch/s nvcswch/s Command
03:04:23 PM 0 3 1.19 0.00 ksoftirqd/0
03:04:23 PM 0 9 1.29 0.00 ksoftirqd/1
03:04:23 PM 0 13 0.20 0.00 sync_supers
03:04:23 PM 0 20 21.99 0.00 kworker/0:1
03:04:23 PM 0 23 0.40 0.00 kinteractiveup
03:04:23 PM 0 69 1.29 0.00 kworker/1:1
03:04:23 PM 0 88 2.09 0.00 mmcqd/0
03:04:23 PM 0 96 0.30 0.00 dhd_watchdog
03:04:23 PM 0 97 8.46 0.00 dhd_dpc
03:04:23 PM 0 156 0.90 0.00 jbd2/mmcblk0p12
03:04:23 PM 103 418 0.50 0.00 dbus-daemon
03:04:23 PM 0 429 0.20 0.00 flush-179:0
03:04:23 PM 1000 493 70.05 0.00 surfaceflinger
03:04:23 PM 32011 613 0.20 0.00 init
03:04:23 PM 32011 658 0.10 0.00 dbus-daemon
03:04:23 PM 32011 713 467.86 0.10 unity8
03:04:23 PM 32011 788 0.10 0.00 upstart-dbus-br
03:04:23 PM 32011 790 0.10 0.00 upstart-dbus-br
03:04:23 PM 0 862 3.98 2.79 NetworkManager
03:04:23 PM 0 1179 0.10 0.00 wpa_supplicant
03:04:23 PM 32011 1219 0.10 0.40 indicator-netwo
03:04:23 PM 0 1237 0.20 0.00 ofonod
03:04:23 PM 32011 1335 0.10 0.00 mission-control
03:04:23 PM 32011 1339 0.40 0.00 telepathy-ofono
03:04:23 PM 0 1929 222.59 1.09 kworker/u:0
03:04:23 PM 0 2379 222.89 0.00 kworker/u:1
03:04:23 PM 32011 2944 0.10 2.19 pidstat
unity8 with PID 713 is performing ~450-470 context switches a second. But what is it doing?
sudo add-apt-repository ppa:colin-
sudo health-check -p 713 -d 10
CPU usage:
PID Process USR% SYS% TOTAL%
713 unity8 27.29 6.40 33.69 (medium load)
^^ that's kinda busy!
Wakeups:
No wakeups detected
File I/O operations:
No file I/O operations detected
System calls traced:
PID Process Syscall Count Rate/Sec
713 unity8 futex 3904 390.2976
713 unity8 clock_gettime 1384 138.3637
713 unity8 poll 791 79.0792
713 unity8 read 789 78.8793
713 unity8 recvmsg 4 0.3999
713 unity8 write 4 0.3999
713 unity8 restart_syscall 1 0.1000
Total 6877 687.5196
Looks like it may be context switching like mad on a futex.
When the screen is not blank but device is idle, unity8 is far less busy.
tags: | added: rls-s-incoming |
no longer affects: | touch-preview-images |
Changed in unity8 (Ubuntu): | |
assignee: | nobody → Michael Zanetti (mzanetti) |
Is anyone going to look at this bug? It is quite critical as it really sucks power badly when the screen is idle.