Closed Bug 1742817 Opened 3 years ago Closed 3 years ago

0.37 - 0.36% Base Content JS / Base Content JS + 1 more (Linux, Windows) regression on Mon November 22 2021

Categories

(Core :: JavaScript: GC, defect)

defect

Tracking

()

RESOLVED WONTFIX
Tracking Status
firefox96 --- affected

People

(Reporter: aglavic, Unassigned)

References

(Regression)

Details

(Keywords: perf, perf-alert, regression)

Perfherder has detected a awsy performance regression from push 6a70ca3a2229a2b5f283c0d5e37d8461e5429c0a. 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)
0.37% Base Content JS linux1804-64-shippable-qr 1,780,291.11 -> 1,786,816.00
0.36% Base Content JS windows10-64-2004-shippable-qr 1,785,683.50 -> 1,792,142.00
0.36% Base Content JS windows10-64-2004-shippable-qr 1,785,695.33 -> 1,792,095.33

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?(jcoppeard)

(In reply to Andrej (:andrej) from comment #0)
Here are the patches in that push:

6a70ca3a2229a2b5f283c0d5e37d8461e5429c0a	Jon Coppeard — Bug 1611437 - Part 6: Remove stale comment about off-thread parsing r=arai
0c714249d6861c7f0692dae8024b27c81706fddf	Jon Coppeard — Bug 1611437 - Part 5: Stop waiting for off-thread parsing when collecting memory information r=arai
c0f1f59e9690559fbfa3449ec376fb495b078afd	Jon Coppeard — Bug 1611437 - Part 4: Ensure various heap threshold data is only accessed from the main thread r=arai
e7b0599c0b81e1498716293493f02a99d5f45269	Jon Coppeard — Bug 1611437 - Part 3: Remove atom zone free lists from the context r=arai
62fbe8c0f683d679a9999925351cf904f00795ee	Jon Coppeard — Bug 1611437 - Part 2: Remove partitioning of the atoms table now this is no longer needed r=arai
3c8c8b37b18d5a687619fb58fdddc7b4b0fd1663	Jon Coppeard — Bug 1611437 - Part 1: Remove support for allocating GC things from helper threads r=arai

Parts 1, 3 and 6 remove dead code and comments. Part 4 adds assertions.

Part 5 concerns memory reporting, but all it does is remove an initial wait for parse tasks, when we already wait for all helper thread tasks just afterward. I don't think this is to blame.

Part 2 removes partitioning of the atoms table, which is no longer required. This is a change that merges the previous 32 partitions of the atoms table into one. This shouldn't change the memory requirement although it does replace 32 smaller allocations with one larger one, so maybe the pattern of allocations had some effect here.

I don't think this is actionable.

Flags: needinfo?(jcoppeard)

I download the memory reports from before and after Jon's changes and diff'ed the content process memory.

Here are some excerpts from the diff:

-0.70 MB (100.0%) -- explicit
├──-0.92 MB (130.25%) ── heap-unclassified
├───0.27 MB (-38.58%) ++ heap-overhead
├──-0.11 MB (16.11%) ++ threads/stacks
├───0.05 MB (-07.64%) -- js-non-window
│   ├──0.05 MB (-07.49%) -- runtime
│   │  ├──0.05 MB (-07.40%) ── atoms-table [8]
│   │  └──0.00 MB (-00.09%) ++ gc/store-buffer
│   └──0.00 MB (-00.15%) ++ zones/zone(0xNNN)
└───0.00 MB (-00.14%) ++ (3 tiny)
        -0.86 MB ── heap-allocated [8]
        -0.13 MB ── private [8]
        -2.87 MB ── resident [8]
        -2.35 MB ── resident-unique [8]
        -0.01 MB ── system-heap-allocated [8]
       -16.41 MB ── vsize [8]

Therefore, it looks like, at least for these two particular logs, that while JS went down a bit, over all memory went down by more, so there's no reason to be concerned here.

Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → WONTFIX
Has Regression Range: --- → yes
You need to log in before you can comment on or make changes to this bug.