[android] Mir servers use non-zero CPU (in HWC vsync thread) even when completely idle

Bug #1374318 reported by Daniel van Vugt
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Mir
Won't Fix
Medium
Unassigned
mir-android-platform
New
Undecided
Unassigned

Bug Description

Mir servers use non-zero CPU when completely idle

For example, on krillin with no clients and no touches, the minimal server sits between 0.3 and 0.7% CPU:

  PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
10476 phablet 20 0 6212 1248 820 R 1.3 0.1 0:00.68 top
 1721 root 20 0 37356 3876 3024 S 0.7 0.4 0:05.75 upowerd
10444 phablet 20 0 163816 8552 6628 S 0.7 0.9 0:00.30 mir_demo_server_minimal

Changed in mir:
assignee: nobody → Alexandros Frantzis (afrantzis)
status: New → In Progress
Revision history for this message
Alexandros Frantzis (afrantzis) wrote :

The culprit is a thread called "VSyncThreadHWC". Not sure if this is something we can control from the Android backend or it's completely internal to the krillin driver. Kevin, Alberto?

Changed in mir:
status: In Progress → Confirmed
assignee: Alexandros Frantzis (afrantzis) → nobody
Revision history for this message
Alexandros Frantzis (afrantzis) wrote :

Note that non-zero CPU usage can also be seen on the Nexus4, in this case the culprit being a thread called "hwcVsyncThread".

summary: - Mir servers use non-zero CPU when completely idle
+ [android] Mir servers use non-zero CPU (in HWC vsync thread) even when
+ completely idle
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Sounds like an unavoidable penalty of using the Android graphics platform. Not an issue for Mesa or desktop in general.

Changed in mir:
importance: Undecided → Medium
status: Confirmed → Triaged
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

This still needs investigating. I'm not sure it's justifiable that VSyncThreadHWC should keep waking up when we're not feeding it anything.

tags: added: android
tags: added: power-management
removed: pm
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Actually I think the HWC vsync callback is optional. We just happen to have it always turned on for Mir.

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

... which is useful because I now need it in:
https://code.launchpad.net/~vanvugt/mir/physical-frame/+merge/306199

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

The Android platform was deleted from lp:mir at revision 4155.

Changed in mir:
status: Triaged → Won't Fix
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.