New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 765393 link

Starred by 2 users

Issue metadata

Status: WontFix
Owner:
Closed: Nov 6
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug

Blocked on:
issue 774115
issue 774126

Blocking:
issue 729028



Sign in to add a comment

Implement exo performance test to measure exo performance

Project Member Reported by penghuang@chromium.org, Sep 14 2017

Issue description

Implement exo performance test to measure exo performance on cash and mus
 
Blocking: 729028
Cc: rjkroege@chromium.org sadrul@chromium.org sky@chromium.org reve...@chromium.org kylec...@chromium.org osh...@chromium.org jonr...@chromium.org fsam...@chromium.org varkha@chromium.org
Labels: -Pri-3 OS-Chrome Pri-2
I landed the first CL for exo performance test [1]. It uses AshTestBase, but the AshTestBase uses InProcessContextFactory for cash and the AshTestContextFactory for mus and mash. Both InProcessContextFactory and AshTestContextFactory are quite different from the real environment (no separate GPU process or viz process, mojo IPC is not used for mus and ash, etc). So to make perf test useful, I think we need modify AshTestBase or implement a new TestBase to setup an environment more like the real environment.

[1] https://chromium.googlesource.com/chromium/src/+/059a6f74910c4fe167d1559b49db3158ef58cd5d

Comment 3 by sky@chromium.org, Sep 25 2017

As you have found, AshTestHelper effectively stubs out the mojo calls to the ui service. AppLaunchTest.TestQuickLaunch does not. Unfortunately TestQuickLaunch doesn't actually run in ash. That may be ok for performance though. Do you really need the test to run in ash?
The performance test runs wayland server(exo) and wayland client in different threads in one process, and the exo is using ash, so the performance test needs ash.

I will check the AppLaunchTest.TestQuickLaunch. Maybe we can do similar things in AshTestBase.
Blockedon: 774115
Blockedon: 774126
Project Member

Comment 8 by bugdroid1@chromium.org, Oct 13 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/bda41dd334dbe0f8c0657948a7f0febd79ed9d90

commit bda41dd334dbe0f8c0657948a7f0febd79ed9d90
Author: Peng Huang <penghuang@chromium.org>
Date: Fri Oct 13 22:27:36 2017

exo: Add a way to run the perftest with external wayland server.

Bug:  765393 
Change-Id: Ib91ab443f27a8797a2b0786571711a28140c3ccd
Reviewed-on: https://chromium-review.googlesource.com/713958
Commit-Queue: Peng Huang <penghuang@chromium.org>
Reviewed-by: David Reveman <reveman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#508848}
[modify] https://crrev.com/bda41dd334dbe0f8c0657948a7f0febd79ed9d90/components/exo/wayland/clients/test/run_all_client_perftests.cc
[modify] https://crrev.com/bda41dd334dbe0f8c0657948a7f0febd79ed9d90/components/exo/wayland/clients/test/wayland_client_test.cc

Project Member

Comment 10 by bugdroid1@chromium.org, Oct 26 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a6cbbda22241958caae4f266818e2d54ba0d51eb

commit a6cbbda22241958caae4f266818e2d54ba0d51eb
Author: Peng Huang <penghuang@chromium.org>
Date: Thu Oct 26 18:35:02 2017

exo run wayland_client_perftests on Linux ChromiumOS Tests (1)

Bug:  765393 
Change-Id: I0ea47f82222ea45cd0542b40dd138dcb66ad74ff
Reviewed-on: https://chromium-review.googlesource.com/726479
Reviewed-by: Scott Violet <sky@chromium.org>
Commit-Queue: Peng Huang <penghuang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#511894}
[modify] https://crrev.com/a6cbbda22241958caae4f266818e2d54ba0d51eb/testing/buildbot/chromium.chromiumos.json

Project Member

Comment 11 by bugdroid1@chromium.org, Oct 30 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ebe366eb7748e43ff05a56c9fa30e90b34eaabbc

commit ebe366eb7748e43ff05a56c9fa30e90b34eaabbc
Author: David Reveman <reveman@chromium.org>
Date: Mon Oct 30 16:49:46 2017

exo: Improve simple client test by adding double-buffering

This test now measures performance when using double-buffering. Any
problems related to the release of buffers can cause this test to drop
frames.

Bug:  765393 
Change-Id: I3c0bbd678e48b0601e3b420ac0ff4c3f4a115211
Reviewed-on: https://chromium-review.googlesource.com/743685
Commit-Queue: David Reveman <reveman@chromium.org>
Reviewed-by: Peng Huang <penghuang@chromium.org>
Reviewed-by: Daniele Castagna <dcastagna@chromium.org>
Cr-Commit-Position: refs/heads/master@{#512518}
[modify] https://crrev.com/ebe366eb7748e43ff05a56c9fa30e90b34eaabbc/components/exo/wayland/clients/client_base.cc
[modify] https://crrev.com/ebe366eb7748e43ff05a56c9fa30e90b34eaabbc/components/exo/wayland/clients/client_base.h
[modify] https://crrev.com/ebe366eb7748e43ff05a56c9fa30e90b34eaabbc/components/exo/wayland/clients/perftests.cc
[modify] https://crrev.com/ebe366eb7748e43ff05a56c9fa30e90b34eaabbc/components/exo/wayland/clients/rects.cc
[modify] https://crrev.com/ebe366eb7748e43ff05a56c9fa30e90b34eaabbc/components/exo/wayland/clients/simple.cc
[modify] https://crrev.com/ebe366eb7748e43ff05a56c9fa30e90b34eaabbc/components/exo/wayland/clients/vulkan.cc
[modify] https://crrev.com/ebe366eb7748e43ff05a56c9fa30e90b34eaabbc/components/exo/wayland/clients/yuv.cc

Project Member

Comment 12 by bugdroid1@chromium.org, Nov 27 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/0982a27e80b5712fc5dff6feb03858185656831b

commit 0982a27e80b5712fc5dff6feb03858185656831b
Author: Peng Huang <penghuang@chromium.org>
Date: Mon Nov 27 22:57:40 2017

exo: measure latency in wayland client simple test.

Bug:  765393 
Change-Id: I5c83d87c259b1f4884e91f9cc0f4bc3a1baf4d36
Reviewed-on: https://chromium-review.googlesource.com/772398
Commit-Queue: Peng Huang <penghuang@chromium.org>
Reviewed-by: David Reveman <reveman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#519437}
[modify] https://crrev.com/0982a27e80b5712fc5dff6feb03858185656831b/components/exo/wayland/clients/perftests.cc
[modify] https://crrev.com/0982a27e80b5712fc5dff6feb03858185656831b/components/exo/wayland/clients/simple.cc
[modify] https://crrev.com/0982a27e80b5712fc5dff6feb03858185656831b/components/exo/wayland/clients/simple.h

Components: -Internals>MUS Internals>Services>WindowService
Labels: -Proj-Mustash-Mus
Migrating Proj-Mustash-Mus to components Internals>Services>WindowService and Internals>Services>Ash

Labels: -Proj-Mustash Proj-Mash-SingleProcess
Labels: -Proj-Mash-SingleProcess
Summary: Implement exo performance test to measure exo performance (was: Implement exo performance test to measure exo performance on cash and mus)
Peng, I know you haven't worked on this in a while, but is there anything left to do? Where we ended up is ash is exactly the same as it was in classic mode. So, I suspect performance with mash and without is exactly the same. It would be nice to have some exo tests, but at this point I don't think it impacts mash. I'm going to remove single-process-mash. Peng, feel free to close this out.
Status: WontFix (was: Started)
I implemented several exo performance tests, but we are not running and recording result for them, since reveman told me those perftests are not very useful.

And I know ARC++ team has their own perf tests from CTS. And those tests are running in bots. So I think it is not necessary to have our own perf tests anymore.

Sign in to add a comment