Mir

Merge lp://staging/~mir-team/mir/more-performance-tests into lp://staging/mir

Proposed by Daniel van Vugt
Status: Merged
Approved by: Cemil Azizoglu
Approved revision: no longer in the source branch.
Merged at revision: 3325
Proposed branch: lp://staging/~mir-team/mir/more-performance-tests
Merge into: lp://staging/mir
Diff against target: 135 lines (+94/-10)
1 file modified
tests/performance-tests/test_glmark2-es2-mir.cpp (+94/-10)
To merge this branch: bzr merge lp://staging/~mir-team/mir/more-performance-tests
Reviewer Review Type Date Requested Status
Cemil Azizoglu (community) Approve
Alexandros Frantzis (community) Approve
PS Jenkins bot (community) continuous-integration Approve
Mir CI Bot continuous-integration Approve
Alan Griffiths Needs Information
Review via email: mp+285837@code.staging.launchpad.net

Commit message

Add a bunch more automated performance tests covering more use cases.

I was recently pleased to find that Jenkins had detected a performance
regression in my code. However then I was worried when I realized that
Jenkins should not have failed at all, and it was just by luck of Android
bug 1369763 that CI failed.

So the failure was useful to me, but also should not have happened. Time
to expand the tests to remove the element of luck, so that such performance regressions always cause a failure...

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

PASSED: Continuous integration, rev:3312
https://mir-jenkins.ubuntu.com/job/mir-ci/291/
Executed test runs:
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build/79
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-0-fetch/85
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=vivid+overlay/81
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=xenial/81
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-advanced/arch=amd64,compiler=gcc,platform=mesa,release=xenial/81
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-advanced/arch=amd64,compiler=gcc,platform=mesa,release=xenial/81/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-advanced/arch=cross-armhf,compiler=gcc,platform=android,release=vivid+overlay/81
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-advanced/arch=cross-armhf,compiler=gcc,platform=android,release=vivid+overlay/81/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-advanced/arch=i386,compiler=gcc,platform=android,release=vivid+overlay/81
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-advanced/arch=i386,compiler=gcc,platform=android,release=vivid+overlay/81/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-advanced/arch=i386,compiler=gcc,platform=mesa,release=xenial/81
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-advanced/arch=i386,compiler=gcc,platform=mesa,release=xenial/81/artifact/output/*zip*/output.zip

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

review: Approve (continuous-integration)
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :

PASSED: Continuous integration, rev:3312
http://jenkins.qa.ubuntu.com/job/mir-ci/6277/
Executed test runs:
    SUCCESS: http://jenkins.qa.ubuntu.com/job/mir-android-vivid-i386-build/5893
    SUCCESS: http://jenkins.qa.ubuntu.com/job/mir-clang-vivid-amd64-build/4800
    SUCCESS: http://jenkins.qa.ubuntu.com/job/mir-mediumtests-vivid-touch/5849
    SUCCESS: http://jenkins.qa.ubuntu.com/job/mir-mediumtests-xenial-touch/427
    SUCCESS: http://jenkins.qa.ubuntu.com/job/mir-xenial-amd64-ci/601
        deb: http://jenkins.qa.ubuntu.com/job/mir-xenial-amd64-ci/601/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/mir-xenial-i386-ci/601
        deb: http://jenkins.qa.ubuntu.com/job/mir-xenial-i386-ci/601/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/mir-mediumtests-builder-vivid-armhf/5846
        deb: http://jenkins.qa.ubuntu.com/job/mir-mediumtests-builder-vivid-armhf/5846/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/mir-mediumtests-runner-touch/8242
    SUCCESS: http://s-jenkins.ubuntu-ci:8080/job/touch-flash-device/27531
    SUCCESS: http://jenkins.qa.ubuntu.com/job/mir-mediumtests-builder-xenial-armhf/423
        deb: http://jenkins.qa.ubuntu.com/job/mir-mediumtests-builder-xenial-armhf/423/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/mir-mediumtests-runner-xenial-touch/276
    SUCCESS: http://s-jenkins.ubuntu-ci:8080/job/touch-flash-device/27533

Click here to trigger a rebuild:
http://s-jenkins.ubuntu-ci:8080/job/mir-ci/6277/rebuild

review: Approve (continuous-integration)
Revision history for this message
Cemil Azizoglu (cemil-azizoglu) wrote :

Was confused about why this was MPed. It makes sense after seeing 'description'.

Revision history for this message
Alan Griffiths (alan-griffiths) wrote :

+ * FIXME: These all fail because the test server doesn't start more than once:
+ * "std::exception::what: Exception while creating graphics platform
+ * Exiting Mir! Reason: Nested Mir and Host Mir cannot use the same
+ * socket file to accept connections!"

What is this really?

1. We have loads of test cases that start up and close down a server in the acceptance tests. So a server can be run multiple times.

2. That error is about configuring --host and --file to the same (not about starting a server multiple times).

review: Needs Information
Revision history for this message
Alan Griffiths (alan-griffiths) wrote :

> + * FIXME: These all fail because the test server doesn't start more than
> once:
> + * "std::exception::what: Exception while creating graphics platform
> + * Exiting Mir! Reason: Nested Mir and Host Mir cannot use the same
> + * socket file to accept connections!"
>
> What is this really?

Oh, that's lp:1290345

Revision history for this message
Alan Griffiths (alan-griffiths) wrote :

> > + * FIXME: These all fail because the test server doesn't start more than
> > once:
> > + * "std::exception::what: Exception while creating graphics platform
> > + * Exiting Mir! Reason: Nested Mir and Host Mir cannot use the same
> > + * socket file to accept connections!"
> >
> > What is this really?
>
> Oh, that's lp:1290345

Right, I'm MP'd a fix for lp:1290345 - you only need part1 for the problem seen here to be resolved.

Revision history for this message
Alan Griffiths (alan-griffiths) wrote :

Is the name of the output file significant anywhere? IIRC we were collating results somewhere.

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

Good question. Although if and when we get these multiple results we might want to collate the multiple results from multiple files.

Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
Mir CI Bot (mir-ci-bot) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

armhf has issues. No idea what the problem is yet but desktop and valgrind on desktop has no problem. Only armhf:

Error in `mir_performance_tests': free(): invalid pointer: 0xb5f02b08 ***

Revision history for this message
Alexandros Frantzis (afrantzis) wrote :

The mir glmark2 performance tests are taking too long by default (5min * N, N is currently 6).

Suggestions:

1. Reduce the amount of time spent in each benchmark scene. This can be achieved with a "-b :duration=2" option (apply duration of 2 seconds to all benchmark scenes)

2. Cherrypick only a few benchmark scenes to run by default. This is again controlled with "-b" command line arguments.

3. Both of the above

review: Needs Fixing
Revision history for this message
Cemil Azizoglu (cemil-azizoglu) wrote :

> The mir glmark2 performance tests are taking too long by default (5min * N, N
> is currently 6).
>
> Suggestions:
>
> 1. Reduce the amount of time spent in each benchmark scene. This can be
> achieved with a "-b :duration=2" option (apply duration of 2 seconds to all
> benchmark scenes)
>
> 2. Cherrypick only a few benchmark scenes to run by default. This is again
> controlled with "-b" command line arguments.
>
> 3. Both of the above

+1

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

Already started on that path :)

34 + char const* selection = getenv("MIR_GLMARK2_TEST_QUICK") ?
35 + "-b build " : "";

Not sure where we will end up as the default behaviour though.

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

OK, the tests are now fast and don't crash.

Sadly most of them can't be run on Android due to bugs in our Android driver.

Revision history for this message
Mir CI Bot (mir-ci-bot) wrote :

PASSED: Continuous integration, rev:3319
https://mir-jenkins.ubuntu.com/job/mir-ci/336/
Executed test runs:
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-mir/126
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-0-fetch/138
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=vivid+overlay/134
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=xenial/134
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=xenial/131
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=amd64,compiler=gcc,platform=mesa,release=xenial/131/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=cross-armhf,compiler=gcc,platform=android,release=vivid+overlay/131
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=cross-armhf,compiler=gcc,platform=android,release=vivid+overlay/131/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/131
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=android,release=vivid+overlay/131/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=mesa,release=xenial/131
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/arch=i386,compiler=gcc,platform=mesa,release=xenial/131/artifact/output/*zip*/output.zip

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

review: Approve (continuous-integration)
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :

PASSED: Continuous integration, rev:3319
http://jenkins.qa.ubuntu.com/job/mir-ci/6325/
Executed test runs:
    SUCCESS: http://jenkins.qa.ubuntu.com/job/mir-android-vivid-i386-build/5971
    SUCCESS: http://jenkins.qa.ubuntu.com/job/mir-clang-vivid-amd64-build/4878
    SUCCESS: http://jenkins.qa.ubuntu.com/job/mir-mediumtests-vivid-touch/5927
    SUCCESS: http://jenkins.qa.ubuntu.com/job/mir-mediumtests-xenial-touch/458
    SUCCESS: http://jenkins.qa.ubuntu.com/job/mir-xenial-amd64-ci/649
        deb: http://jenkins.qa.ubuntu.com/job/mir-xenial-amd64-ci/649/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/mir-xenial-i386-ci/649
        deb: http://jenkins.qa.ubuntu.com/job/mir-xenial-i386-ci/649/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/mir-mediumtests-builder-vivid-armhf/5924
        deb: http://jenkins.qa.ubuntu.com/job/mir-mediumtests-builder-vivid-armhf/5924/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/mir-mediumtests-runner-touch/8305
    SUCCESS: http://s-jenkins.ubuntu-ci:8080/job/touch-flash-device/27734
    SUCCESS: http://jenkins.qa.ubuntu.com/job/mir-mediumtests-builder-xenial-armhf/454
        deb: http://jenkins.qa.ubuntu.com/job/mir-mediumtests-builder-xenial-armhf/454/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/mir-mediumtests-runner-xenial-touch/307
    SUCCESS: http://s-jenkins.ubuntu-ci:8080/job/touch-flash-device/27738

Click here to trigger a rebuild:
http://s-jenkins.ubuntu-ci:8080/job/mir-ci/6325/rebuild

review: Approve (continuous-integration)
Revision history for this message
Alexandros Frantzis (afrantzis) wrote :

OK as a first step.

review: Approve
Revision history for this message
Cemil Azizoglu (cemil-azizoglu) wrote :

ok

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
The diff is not available at this time. You can reload the page or download it.

Subscribers

People subscribed via source and target branches