Closed Bug 1874897 Opened 6 months ago Closed 6 months ago

4774.18 - 26.36% perf_reftest bidi-resolution-1.html / perf_reftest + 14 more (Linux, OSX, Windows) regression on Thu January 11 2024

Categories

(Core :: Layout, defect)

defect

Tracking

()

RESOLVED FIXED
123 Branch
Tracking Status
firefox-esr115 --- unaffected
firefox121 --- unaffected
firefox122 --- unaffected
firefox123 --- fixed

People

(Reporter: aglavic, Assigned: TYLin)

References

(Regression)

Details

(4 keywords)

Attachments

(1 file)

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

Regressions:

Ratio Test Platform Options Absolute values (old vs new)
4774% perf_reftest bidi-resolution-1.html windows10-64-shippable-qr e10s fission stylo webrender 5.81 -> 283.19
3372% perf_reftest bidi-resolution-1.html windows10-64-shippable-qr e10s fission stylo webrender-sw 6.52 -> 226.27
3337% perf_reftest bidi-resolution-1.html linux1804-64-shippable-qr e10s fission stylo webrender-sw 6.57 -> 225.80
3330% perf_reftest bidi-resolution-1.html linux1804-64-shippable-qr e10s fission stylo webrender 6.82 -> 233.72
3202% perf_reftest bidi-resolution-1.html macosx1015-64-shippable-qr e10s fission stylo webrender 8.14 -> 268.70
3023% perf_reftest bidi-resolution-1.html macosx1015-64-shippable-qr e10s fission stylo webrender-sw 8.24 -> 257.47
1176% perf_reftest_singletons bidi-resolution-1.html windows10-64-shippable-qr e10s fission stylo webrender 123.18 -> 1,571.35
1154% perf_reftest_singletons bidi-resolution-1.html windows10-64-shippable-qr e10s fission stylo webrender 123.68 -> 1,550.48
1109% perf_reftest_singletons bidi-resolution-1.html macosx1015-64-shippable-qr e10s fission stylo webrender 132.26 -> 1,598.52
937% perf_reftest_singletons bidi-resolution-1.html linux1804-64-shippable-qr e10s fission stylo webrender 183.87 -> 1,906.34
... ... ... ... ...
31% perf_reftest linux1804-64-shippable-qr e10s fission stylo webrender 1.59 -> 2.08
30% perf_reftest macosx1015-64-shippable-qr e10s fission stylo webrender-sw 1.47 -> 1.90
30% perf_reftest windows10-64-shippable-qr e10s fission stylo webrender-sw 1.39 -> 1.81
28% perf_reftest linux1804-64-shippable-qr e10s fission stylo webrender-sw 1.53 -> 1.96
26% perf_reftest macosx1015-64-shippable-qr e10s fission stylo webrender 1.49 -> 1.89

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 patch(es) may be backed out in accordance with our regression policy.

If you need the profiling jobs you can trigger them yourself from treeherder job view or ask a sheriff to do that for you.

You can run these tests on try with ./mach try perf --alert 41006

For more information on performance sheriffing please see our FAQ.

Flags: needinfo?(aethanyc)

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

This is a serious regression. I'm investigating.

Assignee: nobody → aethanyc
Status: NEW → ASSIGNED
Flags: needinfo?(aethanyc)
Severity: -- → S2

Bug 1873530 Part 3 unified the SetNextInFlow and SetPrevInFlow operation. In the new nsTextFrame::SetNextInFlow, it clears the old next-continuations' first-continuation cache [1]. Although it is functionally correct , it however does unnecessarily cache update if the caller wants to insert a new frame between a existing link in nsContinuingTextFrame::Init() [2]. To make it concrete, if we are going to insert a new frame C between the existing link A and B, after A->SetNextInFlow(C), the first-continuation cache in B as well as the cache in its next continuations will be cleared. Then we call C->SetNextContinuation(B), the cache in B will be update again. However, it's OK to not update the cache, because ultimately B is still in the chain and the cached value won't change.

Given Firefox 123 are close to soft freeze, I'll upload a patch to revert Bug 1873530 Part 3 to fix the performance regression.

[1] https://searchfox.org/mozilla-central/rev/2fa4750e87d49ec7ad19fa1da167a03ef6d5e954/layout/generic/nsTextFrame.cpp#4405-4412
[2] https://searchfox.org/mozilla-central/rev/2fa4750e87d49ec7ad19fa1da167a03ef6d5e954/layout/generic/nsTextFrame.cpp#4197,4227

Pushed by aethanyc@gmail.com:
https://hg.mozilla.org/integration/autoland/rev/6717f7be99be
Revert Bug 1873530 Part 3 to fix performance regression. r=dholbert
Status: ASSIGNED → RESOLVED
Closed: 6 months ago
Resolution: --- → FIXED
Target Milestone: --- → 123 Branch

(In reply to Pulsebot from comment #5)

Pushed by aethanyc@gmail.com:
https://hg.mozilla.org/integration/autoland/rev/6717f7be99be
Revert Bug 1873530 Part 3 to fix performance regression. r=dholbert

Just updating you that your reversion of part 3 has registered as an improvement in our system

== Change summary for alert #41110 (as of Tue, 23 Jan 2024 06:27:49 GMT) ==

Improvements:

Ratio Test Platform Options Absolute values (old vs new)
98% perf_reftest bidi-resolution-1.html windows10-64-shippable-qr e10s fission stylo webrender-sw 227.11 -> 5.16
98% perf_reftest bidi-resolution-1.html windows10-64-shippable-qr e10s fission stylo webrender 256.33 -> 6.00
97% perf_reftest bidi-resolution-1.html linux1804-64-shippable-qr e10s fission stylo webrender 225.38 -> 6.09
97% perf_reftest bidi-resolution-1.html macosx1015-64-shippable-qr e10s fission stylo webrender 260.06 -> 7.11
97% perf_reftest bidi-resolution-1.html linux1804-64-shippable-qr e10s fission stylo webrender-sw 221.03 -> 7.62
... ... ... ... ...
22% perf_reftest macosx1015-64-shippable-qr e10s fission stylo webrender-sw 1.97 -> 1.53

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

You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: