Mir

Merge lp:~kdub/mir/avert-1563287 into lp:mir

Proposed by Kevin DuBois on 2016-04-19
Status: Merged
Approved by: Daniel van Vugt on 2016-04-20
Approved revision: 3463
Merged at revision: 3466
Proposed branch: lp:~kdub/mir/avert-1563287
Merge into: lp:mir
Diff against target: 15 lines (+5/-0)
1 file modified
src/platforms/android/server/device_quirks.cpp (+5/-0)
To merge this branch: bzr merge lp:~kdub/mir/avert-1563287
Reviewer Review Type Date Requested Status
Mir CI Bot continuous-integration Approve on 2016-04-20
Daniel van Vugt 2016-04-19 Approve on 2016-04-20
Review via email: mp+292298@code.launchpad.net

Commit Message

avert LP: #1563287 by disabling EGL_sync_fence extensions on our Mali devices. It was shown that the added synchronization added sub-millisecond times to each buffer mapping, which became visible when many clients were open.

Description of the Change

avert LP: #1563287 by disabling EGL_sync_fence extensions on our Mali devices. It was shown that the added synchronization added sub-millisecond times to each buffer mapping, which became visible when many clients were open.

The plan to fix this properly is to analyze hybris and android's performance of eglCreateSyncKHR (which should be lightweight, but is not in ubuntu_touch+mali)

Will reopen LP: #1517205 for mali only (or perhaps start a new mali only bug in the same vein)

NB: the TODO is https://trello.com/c/XzFGfwlE

To post a comment you must log in.
Mir CI Bot (mir-ci-bot) wrote :

FAILED: Continuous integration, rev:3463
https://mir-jenkins.ubuntu.com/job/mir-ci/860/
Executed test runs:
    FAILURE: https://mir-jenkins.ubuntu.com/job/build-mir/880/console
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-0-fetch/917
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=vivid+overlay/908
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=xenial/908
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=clang,platform=mesa,release=vivid+overlay/890
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=clang,platform=mesa,release=vivid+overlay/890/artifact/output/*zip*/output.zip
    FAILURE: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=xenial/890/console
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=cross-armhf,compiler=gcc,platform=android,release=vivid+overlay/890
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=cross-armhf,compiler=gcc,platform=android,release=vivid+overlay/890/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=android,release=vivid+overlay/890
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=android,release=vivid+overlay/890/artifact/output/*zip*/output.zip
    FAILURE: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=mesa,release=xenial/890/console

Click here to trigger a rebuild:
https://mir-jenkins.ubuntu.com/job/mir-ci/860/rebuild

review: Needs Fixing (continuous-integration)
Kevin DuBois (kdub) wrote :

unrelated 18:22:16 12: [ FAILED ] ClientLatency.triple_buffered_client_has_less_than_two_frames_latency (1780 ms)

Mir CI Bot (mir-ci-bot) wrote :

FAILED: Continuous integration, rev:3463
https://mir-jenkins.ubuntu.com/job/mir-ci/863/
Executed test runs:
    FAILURE: https://mir-jenkins.ubuntu.com/job/build-mir/883/console
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-0-fetch/920
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=vivid+overlay/911
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=xenial/911
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=clang,platform=mesa,release=vivid+overlay/893
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=clang,platform=mesa,release=vivid+overlay/893/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=xenial/893
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=xenial/893/artifact/output/*zip*/output.zip
    FAILURE: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=cross-armhf,compiler=gcc,platform=android,release=vivid+overlay/893/console
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=cross-armhf,compiler=gcc,platform=android,release=vivid+overlay/893/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=android,release=vivid+overlay/893
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=android,release=vivid+overlay/893/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=mesa,release=xenial/893
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=mesa,release=xenial/893/artifact/output/*zip*/output.zip

Click here to trigger a rebuild:
https://mir-jenkins.ubuntu.com/job/mir-ci/863/rebuild

review: Needs Fixing (continuous-integration)
Daniel van Vugt (vanvugt) wrote :

Tested on krillin.

I can confirm this branch reduces the compositor-report render time for five triangles from 35ms to 14ms. But that's still nowhere near the 1.8ms we used to have in r3296.

Maybe that's OK, maybe not. I recall when I first wrote the compositor report in 2013 that we did have such issues with the compositor render time getting rounded up to one frame on Android, and that was nothing to be concerned about. Just a quirk of Android's post arrangement that we could not separate the rendering from the post.

This might not be sufficient by itself to solve the bug. Although I had already measured and suspected we made a secondary regression at some point after r3297 too. So need to check that...

review: Needs Information
Daniel van Vugt (vanvugt) wrote :

OK, I've bisected the secondary regression. That's new enough that it hasn't hit anyone's phone yet. So don't worry about that (bug 1572406).

review: Approve
Mir CI Bot (mir-ci-bot) :
review: Approve (continuous-integration)

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'src/platforms/android/server/device_quirks.cpp'
2--- src/platforms/android/server/device_quirks.cpp 2016-03-23 06:39:56 +0000
3+++ src/platforms/android/server/device_quirks.cpp 2016-04-19 16:41:53 +0000
4@@ -84,6 +84,11 @@
5 if (option == egl_sync_force_off)
6 return false;
7
8+ //TODO: we need a richer way to detect device classes
9+ //mali devices are have sync disabled due to high cost (500us) in hybris while using the
10+ //sync extensions. We should re-enable sync once the cost can be minimized.
11+ if (device_name == "frieza" || device_name == "krillin" || device_name == "vegetahd" || device_name == "manta")
12+ return false;
13 if (device_name == "arale")
14 return false;
15 return true;

Subscribers

People subscribed via source and target branches