Closed Bug 1962406 Opened 29 days ago Closed 25 days ago

Buffer allocator medium allocations store metadata as part of the allocation

Categories

(Core :: JavaScript: GC, enhancement, P3)

enhancement

Tracking

()

RESOLVED FIXED
140 Branch
Tracking Status
firefox140 --- fixed

People

(Reporter: jonco, Assigned: jonco)

References

(Blocks 1 open bug)

Details

(Keywords: perf-alert)

Attachments

(6 files)

Following on from bug 1960811 we can do a similar thing for medium sized buffers and store their metadata packed in the chunk header rather than at the start of the allocation.

Standardizes on one term for the pointer to allocated memory return to the client.

Header doesn't make sense now these are not always stored at the start of
allocation. The structures themselves are named like FooBuffer, so use 'buffer'
for these pointers everywhere.

Now we can remove the buffer header entirely. This is mostly a simplificiation.

Pushed by jcoppeard@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/30fa80635f50 Part 1: Fix out-of-date comment that talks about large buffer headers r=sfink https://hg.mozilla.org/integration/autoland/rev/e66e33001e50 Part 2: Rename 'ptr' to 'alloc' everywhere it's used for a buffer allocator allocation r=sfink https://hg.mozilla.org/integration/autoland/rev/2f8a3558e2c8 Part 3: Rename 'header' to 'buffer' in buffer allocator code r=sfink https://hg.mozilla.org/integration/autoland/rev/55fb84dea632 Part 4: Move nursery allocated flag from MeduimBuffer to a bitmap in the chunk header r=sfink https://hg.mozilla.org/integration/autoland/rev/717f6c86d1d4 Part 5: Move size class to an array in the chunk header r=sfink https://hg.mozilla.org/integration/autoland/rev/4eac62f1e440 Part 6: Remove medium buffer header r=sfink

7.5% improvement on Ares6-Basic_Average

Regressions: 1964420
Regressions: 1964590

(In reply to Serban Stanca [:SerbanS] from comment #8)

https://hg.mozilla.org/mozilla-central/rev/30fa80635f50
https://hg.mozilla.org/mozilla-central/rev/e66e33001e50
https://hg.mozilla.org/mozilla-central/rev/2f8a3558e2c8
https://hg.mozilla.org/mozilla-central/rev/55fb84dea632
https://hg.mozilla.org/mozilla-central/rev/717f6c86d1d4
https://hg.mozilla.org/mozilla-central/rev/4eac62f1e440

Perfherder has detected a talos performance change from push 4eac62f1e4409647b70eeb13aaab64bbfd6b2d61.

If you have any questions, please reach out to a performance sheriff. Alternatively, you can find help on Slack by joining #perf-help, and on Matrix you can find help by joining #perftest.

Improvements:

Ratio Test Platform Options Absolute values (old vs new)
6% pdfpaint bug1826783.pdf macosx1470-64-shippable e10s fission stylo webrender-sw 550.57 -> 516.65

Details of the alert can be found in the alert summary, including links to graphs and comparisons for each of the affected tests.

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

You can run all of these tests on try with ./mach try perf --alert 45069

The following documentation link provides more information about this command.

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

Attachment

General

Created:
Updated:
Size: