Closed Bug 1682556 Opened 3 years ago Closed 3 years ago

15.95 - 29.8% perf_reftest_singletons inline-style-cache-1.html / perf_reftest_singletons link-style-cache-1.html (macosx1014-64-shippable-qr) regression on push 8ba485d9c77b9c97819197b7b8ae6738ea68e380 (Thu December 10 2020)

Categories

(Core :: CSS Parsing and Computation, defect)

Firefox 86
defect

Tracking

()

RESOLVED FIXED
86 Branch
Tracking Status
firefox-esr78 --- unaffected
firefox84 --- unaffected
firefox85 --- wontfix
firefox86 --- fixed

People

(Reporter: alexandrui, Assigned: emilio)

References

(Regression)

Details

(4 keywords)

Attachments

(1 file, 1 obsolete file)

Perfherder has detected a talos performance regression from push 8ba485d9c77b9c97819197b7b8ae6738ea68e380. As author of one of the patches included in that push, we need your help to address this regression.

Regressions:

Ratio Suite Test Platform Options Absolute values (old vs new)
30% perf_reftest_singletons link-style-cache-1.html macosx1014-64-shippable-qr e10s stylo webrender 1,272.08 -> 1,651.20
29% perf_reftest_singletons link-style-cache-1.html macosx1014-64-shippable-qr e10s stylo webrender 1,273.46 -> 1,646.89
16% perf_reftest_singletons inline-style-cache-1.html macosx1014-64-shippable-qr e10s stylo webrender 2,043.67 -> 2,369.71

Details of the alert can be found in the alert summary, including links to graphs and comparisons for each of the affected tests. Please follow our guide to handling regression bugs and let us know your plans within 3 business days, or the offending patch(es) will be backed out in accordance with our regression policy.

For more information on performance sheriffing please see our FAQ.

Flags: needinfo?(emilio)
Component: Performance → CSS Parsing and Computation
Product: Testing → Core

Will investigate. Is this really mac-only?

Assignee: nobody → emilio
Flags: needinfo?(aionescu)

Hmm, it sure looks like it: https://treeherder.mozilla.org/perfherder/graphs?highlightAlerts=1&series=autoland,2847199,1,1&series=mozilla-central,2112065,1,1&series=mozilla-central,2112069,1,1&series=mozilla-central,2819818,1,1&series=mozilla-central,2818996,1,1&series=mozilla-central,2819933,1,1&timerange=1209600

Maybe pages_copy is somehow much slower than memcpy? Mike, do you know why mac uses pages_copy instead of memcpy? It goes back to bug 414946 but I don't understand why it'd be needed.

Will double-check if that's the culprit though. I think that has to be the culprit since more regular benchmarks where we presumably don't go over the page limit like stylebench didn't regress, and this test-case allocates a giant smallvec because it basically creates 30k matching rules.

Flags: needinfo?(mh+mozilla)

IIRC vm_copy is supposed to not be an actual copy, so it should actually be faster. That is, it is sort of like mremap, but with preservation of the original mapping, and making both mappings independent as far as modifications to each of them go.

Flags: needinfo?(mh+mozilla)
Flags: needinfo?(emilio)

Will do a more exhaustive perf run with this, but this seems to fix the
regression and, well, yay for less special-cases I guess.

Set release status flags based on info from the regressing bug 1632469

Seems like somebody asked the question that was addressed to me.

Flags: needinfo?(aionescu)

The current implementation is a regression on microbenchmarks that
reallocate allocations that go over gPageSize * 32 compared to memcpy().

Attachment #9193422 - Attachment is obsolete: true
Pushed by ealvarez@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/b4a2022ff76d
Increase vm_copy() threshold. r=glandium
Flags: needinfo?(mh+mozilla)
Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → 86 Branch

The patch landed in nightly and beta is affected.
:emilio, is this bug important enough to require an uplift?
If not please set status_beta to wontfix.

For more information, please visit auto_nag documentation.

Flags: needinfo?(emilio)

I think it's ok for this to ride the trains.

Flags: needinfo?(emilio)

== Change summary for alert #28265 (as of Tue, 29 Dec 2020 04:43:04 GMT) ==

Improvements:

Ratio Suite Test Platform Options Absolute values (old vs new)
23% perf_reftest_singletons link-style-cache-1.html macosx1014-64-shippable-qr e10s stylo webrender 1,644.98 -> 1,268.55
13% perf_reftest_singletons inline-style-cache-1.html macosx1014-64-shippable-qr e10s stylo webrender 2,369.44 -> 2,063.44
11% displaylist_mutate macosx1014-64-shippable-qr e10s stylo webrender 4,254.16 -> 3,787.85

For up to date results, see: https://treeherder.mozilla.org/perfherder/alerts?id=28265

Has Regression Range: --- → yes
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: