Closed Bug 1296086 Opened 8 years ago Closed 6 years ago

Allow GL layers with a software GL implementation using m3.large instances on some TaskCluster suites

Categories

(Core :: Graphics: Layers, defect)

50 Branch
defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: acomminos, Assigned: acomminos)

References

Details

Attachments

(6 files)

When GL layers gets enabled (bug 594876), we'll need to manually enable software GL layers using the environment variable MOZ_LAYERS_ALLOW_SOFTWARE_GL added in bug 1295757. I propose adding a new transitory property to TaskCluster suites, "allow-software-gl-layers", set to true by default. This will upgrade the instance to a m3.large AWS instances (required for reasonable GL layers performance on a software GL implementation, see bug 1281241) and add a flag to mozharness to allow software layers acceleration. On suites that are not very green with this config, allow-software-gl-layers may be set to false to fallback to the old config- basic composition plus the default AWS instances.
These patches expect the patches from bugs 1295757 and 1281241 to be applied first. Devtools is less green with GL layers, so let's disallow software GL there for now.
Comment on attachment 8782150 [details] Bug 1296086 - Add a mozharness flag to allow GL composition on a software GL implementation. https://reviewboard.mozilla.org/r/72382/#review70220 this looks great
Attachment #8782150 - Flags: review?(jmaher) → review+
Comment on attachment 8782151 [details] Bug 1296086 - Add property to TaskCluster to allow software GL layers. https://reviewboard.mozilla.org/r/72380/#review70222 ::: taskcluster/ci/desktop-test/tests.yml:239 (Diff revision 3) > by-test-platform: > # Bug 1242986: linux64/debug mochitest-devtools-chrome e10s is not greened up yet > linux64/debug: false > default: both > + # Bug 1296086: high number of intermittents observed with software GL and large instances > + allow-software-gl-layers: false this will change for all platforms- so the mozharness changes will set the env variable by default for all platforms- this only affects linux, right? then this will set software-gl-layers:false for all platforms. we will probably need to differentiate between ASAN and linux32 here as we roll this out- maybe an all or none strategy for a test type is the way to go. ::: taskcluster/taskgraph/transforms/tests/desktop_test.py:97 (Diff revision 3) > + logger.warning('Allowed software GL layers on a legacy instance, expect timeouts.') > + > + test['mozharness'].setdefault('extra-options', [])\ > + .append("--allow-software-gl-layers") > + > + yield test while I am not a fan of this, it makes sense given the fact that we intend for all tests to run in this fashion on linux64. Can we put a comment that indicates to remove this when bug xxxxxxx is resolved?
Comment on attachment 8782151 [details] Bug 1296086 - Add property to TaskCluster to allow software GL layers. https://reviewboard.mozilla.org/r/72380/#review70232 ::: taskcluster/taskgraph/transforms/tests/desktop_test.py:92 (Diff revision 3) > + for test in tests: > + allow = get_keyed_by(item=test, field='allow-software-gl-layers', > + item_name=test['test-name']) > + if allow: > + if test['instance-size'] == 'legacy': > + logger.warning('Allowed software GL layers on a legacy instance, expect timeouts.') This should probably just fail. I doubt anyone will see warnings in the decision task unless they happen to look at those logs for some other reason. Also, a link to a bug # would be good. ::: taskcluster/taskgraph/transforms/tests/test_description.py:90 (Diff revision 3) > # on the platform) > Required('loopback-audio', default=False): bool, > Required('loopback-video', default=False): bool, > > + # Whether the test can run using a software GL implementation on Linux > + # using the GL compositor. Upgrades to a large instance to avoid timeouts. This comment isn't quite accurate anymore
Here's a push with GL layers and m3.large instances for all; https://treeherder.mozilla.org/#/jobs?repo=try&revision=fb08dde910816aedc05bfbdca0d1fbbb888e7c52 I'll be making all high volume layers acceleration related intermittents block this bug.
Keywords: leave-open
Depends on: 1274106, 1291027
Comment on attachment 8782151 [details] Bug 1296086 - Add property to TaskCluster to allow software GL layers. https://reviewboard.mozilla.org/r/72380/#review70382 thanks for the cleanup
Attachment #8782151 - Flags: review?(jmaher) → review+
Thanks. I just noticed that we'll also need to add the --allow-software-gl-layers flag to marionette; I'll quickly take care of that.
Comment on attachment 8782609 [details] Bug 1296086 - Add a marionette flag to allow GL composition on a software GL implementation. https://reviewboard.mozilla.org/r/72712/#review70404
Attachment #8782609 - Flags: review?(jmaher) → review+
Comment on attachment 8782610 [details] Bug 1296086 - Add a web-platform-tests flag to allow GL composition on a software GL implementation. https://reviewboard.mozilla.org/r/72714/#review70406
Attachment #8782610 - Flags: review?(jmaher) → review+
Comment on attachment 8782611 [details] Bug 1296086 - Add a firefox media tests flag to allow GL composition on a software GL implementation. https://reviewboard.mozilla.org/r/72716/#review70408
Attachment #8782611 - Flags: review?(jmaher) → review+
Comment on attachment 8782612 [details] Bug 1296086 - Add a firefox functional tests flag to allow GL composition on a software GL implementation. https://reviewboard.mozilla.org/r/72718/#review70410
Comment on attachment 8782612 [details] Bug 1296086 - Add a firefox functional tests flag to allow GL composition on a software GL implementation. https://reviewboard.mozilla.org/r/72718/#review70412
Attachment #8782612 - Flags: review?(jmaher) → review+
we might want to standardize the talos.py script as well- not sure if we will be doing this for performance tests.
(In reply to Joel Maher ( :jmaher) from comment #27) > we might want to standardize the talos.py script as well- not sure if we > will be doing this for performance tests. We shouldn't, I don't think- the performance using software GL isn't significant as we disable layers acceleration on it in production. Dedicated GPUs will automagically use layers acceleration once it's flipped in in bug 594876.
Pushed by acomminos@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/9b55d21dd152 Add property to TaskCluster to allow software GL layers. r=jmaher https://hg.mozilla.org/integration/autoland/rev/a54b3ed2232f Add a mozharness flag to allow GL composition on a software GL implementation. r=jmaher https://hg.mozilla.org/integration/autoland/rev/bef08c5c1348 Add a marionette flag to allow GL composition on a software GL implementation. r=jmaher https://hg.mozilla.org/integration/autoland/rev/f5120a79b034 Add a web-platform-tests flag to allow GL composition on a software GL implementation. r=jmaher https://hg.mozilla.org/integration/autoland/rev/9c167f078b80 Add a firefox media tests flag to allow GL composition on a software GL implementation. r=jmaher https://hg.mozilla.org/integration/autoland/rev/e7b45868aa75 Add a firefox functional tests flag to allow GL composition on a software GL implementation. r=jmaher
I wanted to follow up here to see what work remains- I believe it is just greening up remaining jobs on try server?
we now run all tests on c3.large (multi-core, non m1.medium) or larger, can we resolve this?
I believe most if not all of these instances in-tree: http://searchfox.org/mozilla-central/search?q=allow-software-gl-layers&path=taskcluster%2Fci%2Ftest%2F*.yml of allow-software-gl-layers:False, were on suites that we ran on m1.medium. :acomminos, do weigh in if you thing we should be trying to allow software gl layers or if there is other work to do here.
Flags: needinfo?(andrew)
following up here, should we be running software-gl-layers?
The leave-open keyword is there and there is no activity for 6 months. :davidb, maybe it's time to close this bug?
Flags: needinfo?(dbolter)
I'm not sure we need this bug open. Jessie can you ask around?
Flags: needinfo?(dbolter) → needinfo?(jbonisteel)
We haven't been looking at doing gl layers on Linux and probably will just try to turn on WebRender instead. If we need to re-open this we can.
Status: ASSIGNED → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Flags: needinfo?(andrew)
Flags: needinfo?(jbonisteel)
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: