Closed Bug 1691421 Opened 4 years ago Closed 4 years ago

4.08 - 22.74% Explicit Memory / Heap Unclassified (windows10-64-shippable-qr) regression on push 2f575c3c4353b2c5adc27519e55ca4f3c125a1d2 (Fri February 5 2021)

Categories

(Core :: Graphics: WebRender, defect)

defect

Tracking

()

RESOLVED FIXED
87 Branch
Tracking Status
firefox-esr78 --- unaffected
firefox85 --- unaffected
firefox86 --- unaffected
firefox87 --- fixed

People

(Reporter: aesanu, Assigned: nical)

References

(Regression)

Details

(Keywords: perf, perf-alert, regression)

Attachments

(3 files)

Perfherder has detected a awsy performance regression from push 2f575c3c4353b2c5adc27519e55ca4f3c125a1d2. 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)
23% Heap Unclassified windows10-64-shippable-qr tp6 58,169,417.77 -> 71,398,471.81
21% Heap Unclassified windows10-64-shippable-qr tp6 58,601,231.23 -> 71,068,188.49
10% Heap Unclassified windows10-64-shippable-qr 51,628,678.47 -> 56,956,852.12
4% Explicit Memory windows10-64-shippable-qr tp6 448,803,321.86 -> 467,119,287.80

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?(nical.bugzilla)

There's a few low hanging fruits to avoid retaining too many staging textures.

Assignee: nobody → nical.bugzilla
Flags: needinfo?(nical.bugzilla)

Instead of using a triple buffering scheme, tag each texture with a frame index and only reuse a texture that hasn't been used for more than two frames.

Depends on D104420

If we have more than 8 unused/reusable staging textures and buffers for more than 120 consecutive frames, start deallocation them, spreading the deallocation over multiple frames.
The vast majority of frames require less than 4 staging textures and buffers (most don't require any), but some SVG animations can put a lot of pressure on uploads, requiring 30+ staging textures per frame. This patch avoids staying at this kind of peak memory usage for too long.

Depends on D104421

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

Pushed by nsilva@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/05436e3d6db9 Report staging texture memory. r=gfx-reviewers,jrmuizel https://hg.mozilla.org/integration/autoland/rev/802a5cf1ca38 Improve the way stalls are avoided in the staging texture pool. r=jnicol https://hg.mozilla.org/integration/autoland/rev/b9370586b586 Shrink the staging texture pool automatically. r=jnicol

== Change summary for alert #28747 (as of Thu, 11 Feb 2021 12:21:25 GMT) ==

Improvements:

Ratio Suite Test Platform Options Absolute values (old vs new)
18% Heap Unclassified windows10-64-shippable-qr tp6 71,793,894.86 -> 58,721,642.48
17% Heap Unclassified windows10-64-shippable-qr tp6 70,957,530.93 -> 58,745,692.46
7% Heap Unclassified windows10-64-shippable-qr 56,838,791.71 -> 52,856,789.97

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

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: