Closed Bug 1329313 Opened 8 years ago Closed 8 years ago

3.03 - 3.13% tsvgr_opacity (linux64) regression on push 1e8f1baf3894 (Wed Jan 4 2017)

Categories

(Core :: Widget: Gtk, defect)

53 Branch
defect
Not set
normal

Tracking

()

RESOLVED WONTFIX
Tracking Status
firefox50 --- unaffected
firefox51 --- unaffected
firefox52 --- unaffected
firefox53 --- affected

People

(Reporter: jmaher, Unassigned)

References

Details

(Keywords: perf, regression, talos-regression)

Talos has detected a Firefox performance regression from push 1e8f1baf389407438d6a57a62228e32a37c5623f. As author of one of the patches included in that push, we need your help to address this regression. Regressions: 3% tsvgr_opacity summary linux64 pgo 369.5 -> 381.07 3% tsvgr_opacity summary linux64 pgo e10s 336.46 -> 346.67 You can find links to graphs and comparison views for each of the above tests at: https://treeherder.mozilla.org/perf.html#/alerts?id=4729 On the page above you can see an alert for each affected platform as well as a link to a graph showing the history of scores for this test. There is also a link to a treeherder page showing the Talos jobs in a pushlog format. To learn more about the regressing test(s), please see: https://wiki.mozilla.org/Buildbot/Talos/Tests For information on reproducing and debugging the regression, either on try or locally, see: https://wiki.mozilla.org/Buildbot/Talos/Running *** Please let us know your plans within 3 business days, or the offending patch(es) will be backed out! *** Our wiki page outlines the common responses and expectations: https://wiki.mozilla.org/Buildbot/Talos/RegressionBugsHandling
:karlt, I see you are the patch author of bug 1328352. This seems to be PGO only (not opt) and after backfilling for pgo and data, it showed this patch as the root cause. Can you take a look at this and see why just this one test is problematic? It seems to be in the subtest: tsvgr_opacity small-group-opacity-2500.svg
Flags: needinfo?(karlt)
In https://treeherder.mozilla.org/perf.html#/graphs?series=%5Bautoland,5672b657c5b23ed1c359257e1722e2ed25c7e785,1,1%5D&zoom=1483284374322.7383,1483441464833.7407,363.9130434782609,390&selected=%5Bautoland,5672b657c5b23ed1c359257e1722e2ed25c7e785,156471,65798875,1%5D this regression looks like the reversal of improvements reflected in https://treeherder.mozilla.org/perf.html#/alerts?id=4700 presumably from changes for bug 1320860. As bug 1328352 fixed an accidental regression caused by changes for bug 1320860, the reversal of the performance improvement may be kind of expected. Still I didn't expect Ubuntu 12.04 with default GTK theme Ambiance to be affected by the regression in bug 1328352, so the changes in performance are not really expected. I pushed some logging to try to see what change in values was caused by https://hg.mozilla.org/mozilla-central/rev/1bf65dbb4d71 https://treeherder.mozilla.org/#/jobs?repo=try&revision=9e04976dfee0d76bcacd5bd297f4645c0fc75f1d https://treeherder.mozilla.org/#/jobs?repo=try&revision=ab3ce5a847ece6d5319c504d9506514a543a9679 If that shows no change in values, as expected, then I think this performance change should just be written off as a PGO quirk. If changes for bug 1328352 are backed out, then those for bug 1320860 will also need to be, in which case we'll still have the same performance anyway.
Flags: needinfo?(karlt)
(In reply to Joel Maher ( :jmaher) from comment #1) > :karlt, I see you are the patch author of bug 1328352. This seems to be PGO > only (not opt) and after backfilling for pgo and data, it showed this patch > as the root cause. Comparing 1bf65dbb4d71 with its ancestor 3b5eab628d4b agrees that there was a significant 2.5% change in linux64 pgo tsvgr_opacity with and without e10s: tsvgr_opacity pgo e10s? Base New Delta Confidence # Runs no 371.51 ± 0.57% < 381.09 ± 0.35% 2.58% 13.46 (high) 16 / 8 yes 338.78 ± 0.95% < 346.99 ± 0.56% 2.42% 6.16 (high) 8 / 8 https://treeherder.mozilla.org/perf.html#/compare?originalProject=autoland&originalRevision=3b5eab628d4b&newProject=autoland&newRevision=1bf65dbb4d71ccc02ad63b95a039112073d83e5e&framework=1&filter=svg%20linux&showOnlyImportant=0 > Can you take a look at this and see why just this one test is problematic? The change is in the result for subtest big-optimizable-group-opacity-2500.svg https://treeherder.mozilla.org/perf.html#/comparesubtest?originalProject=autoland&originalRevision=3b5eab628d4b&newProject=autoland&newRevision=1bf65dbb4d71ccc02ad63b95a039112073d83e5e&originalSignature=5672b657c5b23ed1c359257e1722e2ed25c7e785&newSignature=5672b657c5b23ed1c359257e1722e2ed25c7e785&framework=1 https://treeherder.mozilla.org/perf.html#/comparesubtest?originalProject=autoland&originalRevision=3b5eab628d4b&newProject=autoland&newRevision=1bf65dbb4d71ccc02ad63b95a039112073d83e5e&originalSignature=bbf8e5d8267164f7ecd222bc41cf2b93e9df7303&newSignature=bbf8e5d8267164f7ecd222bc41cf2b93e9df7303&framework=1 I've looked at big-optimizable-group-opacity-2500.svg and there is nothing in that file that I would expect to be affected by 1bf65dbb4d71.
An fprintf added in https://treeherder.mozilla.org/#/jobs?repo=try&revision=9e04976dfee0 confirms that, on the Ubuntu 12.04 test machines, the line of code added in 1bf65dbb4d71 merely writes the value 1.0 to a local variable that already has the value 1.0. Comparing results from the revision with that fprintf against its ancestor cfe1c5c0caeb32c50552d9886a9afda6300819fc shows that the added fprintf reinstates the performance improvement. tsvgr_opacity pgo e10s? Base New Delta Confidence # Runs no 380.14 ± 0.08% > 370.44 ± 0.23% -2.55% 20.99 (high) 4 / 4 yes 343.40 ± 0.78% > 337.65 ± 1.29% -1.67% 2.32 (low) 5 / 4 https://treeherder.mozilla.org/perf.html#/compare?originalProject=try&originalRevision=cfe1c5c0caeb32c50552d9886a9afda6300819fc&newProject=try&newRevision=9e04976dfee0&framework=1&filter=svg&showOnlyImportant=0 Backing out 1bf65dbb4d71 from 9e04976dfee0 with fprintf is ab3ce5a847ec, which is not significantly different from 9e04976dfee0. tsvgr_opacity pgo e10s? Base New Delta Confidence # Runs no 370.44 ± 0.23% < 371.39 ± 0.55% 0.25% 0.85 (low) 4 / 4 yes 337.65 ± 1.29% > 335.24 ± 0.97% -0.71% 0.89 (low) 4 / 4 Changing ApplyColorOver() in nsLookAndFeel.cpp, even if just adding fprintf, is somehow affecting the performance of big-optimizable-group-opacity-2500.svg but, as indicated by the logging, ApplyColorOver() runs only once before the performance tests run and is returning the same results before and after 1bf65dbb4d71. I can only speculate that somehow what is compiled in ApplyColorOver() is affecting how other code is generated or running in big-optimizable-group-opacity-2500.svg. The fact that the performance change is PGO-only is consistent with this hypothesis. I guess an uninitialized variable may be a possible explanation, but correctness tests are not detecting any failures, and I've run a valgrind build on big-optimizable-group-opacity-2500.svg without detecting any such problems. Given that this seems to be a strange interaction with the compiler, the changes are limited to affecting one test, and the regression merely returns to performance levels before an unexpected improvement, I don't think it is worth spending time analysing the compiler to recover an improvement, which may then disappear on a subsequent random change.
Status: NEW → RESOLVED
Closed: 8 years ago
Component: Untriaged → Widget: Gtk
Product: Firefox → Core
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.