Closed Bug 1878806 Opened 2 years ago Closed 1 year ago

Move heap overheads out of the explicit/ tree

Categories

(Toolkit :: about:memory, task, P1)

task

Tracking

()

RESOLVED FIXED
126 Branch
Tracking Status
firefox126 --- fixed

People

(Reporter: pbone, Assigned: pbone)

References

Details

(Keywords: perf-alert)

Attachments

(2 files, 3 obsolete files)

Currently heap overheads are in the explicit/ tree. Recently while working on Bug 1857841 this was surprising because that bug adds non-committed overheads and explicit memory grew as a result. I'd like to move the heap related overheads into their own tree in the memory reporter. Note that this will undo Bug 898558 but I think this will be less surprising and maybe our memory report comparison code has improved since then because I haven't found it hard to compare reports. I'll test that feature though!

I have a patch that adds a tree such as:

357.00 MB (100.0%) -- heap
├──265.85 MB (74.47%) -- committed
│  ├──257.55 MB (72.14%) ── allocated
│  ├────4.50 MB (01.26%) -- (2 tiny)
│  │    ├──3.32 MB (00.93%) ── bookkeeping
│  │    └──1.18 MB (00.33%) ── page-cache-dirty
│  └────3.80 MB (01.07%) ++ bin-unused
└───91.15 MB (25.53%) -- decommitted
    ├──64.80 MB (18.15%) ── unmapped
    └──26.35 MB (07.38%) ── clean

Which gives a nice breakdown of mozjemalloc's heap space. It's easy to see "Oh, bookkeeping accounts for about 1% of heap overheads". Note that since this depends on Bug 1857841 there is a new node in this tree heap/decommitted/clean represents memory that has never been touched or has been madvised it is part of the page cache but is distinct from page-cache-dirty.

Summary: Memory reporters place heap overheads in the explicit/ tree → Move heap overheads out of the explicit/ tree
Assignee: nobody → pbone
Status: NEW → ASSIGNED
Attachment #9378442 - Attachment description: Bug 1878806 - Move mozjemalloc stats into their own tree r=mccr8 → Bug 1878806 - pt 1. Move mozjemalloc stats into their own tree r=mccr8
Attachment #9378443 - Attachment description: WIP: Bug 1878806 - Add about:memory entries for the clean page cache → WIP: Bug 1878806 - pt 2. Add about:memory entries for the clean page cache
Attachment #9379454 - Attachment is obsolete: true
Attachment #9379455 - Attachment is obsolete: true
Attachment #9379456 - Attachment is obsolete: true
Attachment #9378443 - Attachment description: WIP: Bug 1878806 - pt 2. Add about:memory entries for the clean page cache → WIP: Bug 1878806 - pt 2. Add about:memory entries for fresh and madvised pagesr=mccr8
Attachment #9378443 - Attachment description: WIP: Bug 1878806 - pt 2. Add about:memory entries for fresh and madvised pagesr=mccr8 → Bug 1878806 - pt 2. Add about:memory entries for fresh and madvised pagesr=mccr8
Attachment #9378443 - Attachment description: Bug 1878806 - pt 2. Add about:memory entries for fresh and madvised pagesr=mccr8 → WIP: Bug 1878806 - pt 2. Add about:memory entries for fresh and madvised pagesr=mccr8
Attachment #9378443 - Attachment description: WIP: Bug 1878806 - pt 2. Add about:memory entries for fresh and madvised pagesr=mccr8 → Bug 1878806 - pt 2. Add about:memory entries for fresh and madvised pages r=mccr8,glandium
Blocks: 1885466
Pushed by pbone@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/adb7c40dad27 pt 1. Move mozjemalloc stats into their own tree r=mccr8 https://hg.mozilla.org/integration/autoland/rev/23f554ffaca7 pt 2. Add about:memory entries for fresh and madvised pages r=mccr8,glandium
Status: ASSIGNED → RESOLVED
Closed: 1 year ago
Resolution: --- → FIXED
Target Milestone: --- → 126 Branch

(In reply to Pulsebot from comment #6)

Pushed by pbone@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/adb7c40dad27
pt 1. Move mozjemalloc stats into their own tree r=mccr8
https://hg.mozilla.org/integration/autoland/rev/23f554ffaca7
pt 2. Add about:memory entries for fresh and madvised pages r=mccr8,glandium

== Change summary for alert #42063 (as of Fri, 29 Mar 2024 12:13:11 GMT) ==

Improvements:

Ratio Test Platform Options Absolute values (old vs new)
31% Base Content Explicit linux1804-64-shippable-qr fission 9,701,733.33 -> 6,664,374.33
31% Base Content Explicit linux1804-64-shippable-qr fission 9,678,949.33 -> 6,661,954.67
29% Base Content Explicit macosx1015-64-shippable-qr fission 10,110,138.67 -> 7,227,219.33
28% Base Content Explicit windows11-64-2009-shippable-qr fission 10,497,917.71 -> 7,527,744.67
19% Explicit Memory windows11-64-2009-shippable-qr fission tp6 590,258,022.19 -> 479,549,445.35
18% Explicit Memory macosx1015-64-shippable-qr fission tp6 650,307,325.78 -> 534,280,579.98

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

Keywords: perf-alert
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: