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

Bug #1374318 reported by Daniel van Vugt on 2014-09-26
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Mir
Won't Fix
Medium
Unassigned
mir-android-platform
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
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
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
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
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
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.

Daniel van Vugt (vanvugt) wrote :

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

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  Edit
Everyone can see this information.

Other bug subscribers