Open
Bug 1410123
Opened 9 years ago
Updated 2 years ago
Atoms bitmap is only updated when we collect the atoms zone
Categories
(Core :: JavaScript: GC, defect, P3)
Tracking
()
REOPENED
| Tracking | Status | |
|---|---|---|
| firefox58 | --- | wontfix |
People
(Reporter: jonco, Assigned: jonco)
References
(Blocks 1 open bug)
Details
Attachments
(1 file)
|
12.61 KB,
patch
|
sfink
:
review+
|
Details | Diff | Splinter Review |
As per bug 1324002 comment 28, we should udpate the atoms bitmaps in every collection to make the approximations more accurate and enable us to free more unused atoms sooner when collect the atoms zone in a zone GC.
Updated•9 years ago
|
status-firefox58:
--- → affected
Priority: -- → P3
| Assignee | ||
Comment 1•9 years ago
|
||
Here's a patch that always collects the atoms zone, but only sweeps it if it was actually scheduled. What this lets us do is to update the atoms bitmaps for collected zones in every GC, even if we didn't schedule the atoms zone. The per-zone atoms bitmaps are an overapproximation to the set of atoms referenced from that zone, and this update step allows us to refine this with information about which atoms were actually marked. Then when we later sweep the atoms zone this is taken into account and potentially lets us free more atoms.
Attachment #8921531 -
Flags: review?(sphink)
Comment 2•9 years ago
|
||
Comment on attachment 8921531 [details] [diff] [review]
bug1410123-always-update-atoms-bitmap
Review of attachment 8921531 [details] [diff] [review]:
-----------------------------------------------------------------
The patch seems fine, but for my understanding, if you have multiple sweep groups which one of them is the atoms zone in? The first one, I guess?
Attachment #8921531 -
Flags: review?(sphink) → review+
| Assignee | ||
Comment 3•9 years ago
|
||
(In reply to Steve Fink [:sfink] [:s:] from comment #2)
If the atoms zone is being collected it will be the single zone in the last group, since every zone will adds edge to the atoms zone in Zone::findOutgoingEdges().
Pushed by jcoppeard@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/2c36f41ed77c
Update atom marking bitmaps on every collection r=sfink
Comment 5•9 years ago
|
||
| bugherder | ||
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla58
Comment 6•9 years ago
|
||
Backed out for making Windows mochitest-gl leak the world about 30-40% of the time.
https://hg.mozilla.org/integration/mozilla-inbound/rev/1bfaea0c03ec2b00ece8f769720ff816d6832ca9
https://treeherder.mozilla.org/logviewer.html#?job_id=139695292&repo=mozilla-inbound
Status: RESOLVED → REOPENED
Flags: needinfo?(jcoppeard)
Resolution: FIXED → ---
Target Milestone: mozilla58 → ---
Comment 7•9 years ago
|
||
When this first landed, we noticed these performance regressions:
== Change summary for alert #10164 (as of October 25 2017 09:31 UTC) ==
Regressions:
27% tp6_youtube summary windows7-32 opt e10s 296.73 -> 375.79
23% tp6_youtube_heavy summary windows10-64 opt e10s274.88 -> 338.50
22% tp6_youtube_heavy summary windows7-32 opt e10s288.88 -> 351.69
For up to date results, see: https://treeherder.mozilla.org/perf.html#/alerts?id=10164
Comment 8•9 years ago
|
||
Preliminary results after the backout show that the regression was removed.
Comment 9•9 years ago
|
||
| backout bugherder | ||
Comment 10•9 years ago
|
||
I confirm the backout canceled the perf regressions:
== Change summary for alert #10190 (as of October 26 2017 10:48 UTC) ==
Improvements:
22% tp6_youtube_heavy summary windows7-32 opt e10s 342.90 -> 266.12
16% tp6_youtube_heavy summary linux64 opt e10s 308.19 -> 258.17
For up to date results, see: https://treeherder.mozilla.org/perf.html#/alerts?id=10190
| Comment hidden (Intermittent Failures Robot) |
Updated•8 years ago
|
Flags: needinfo?(jcoppeard)
Updated•4 years ago
|
Severity: normal → S3
Comment 12•2 years ago
|
||
(This bounced and was never followed up -- marking as Incomplete)
Status: REOPENED → RESOLVED
Closed: 9 years ago → 2 years ago
Resolution: --- → INCOMPLETE
| Assignee | ||
Comment 13•2 years ago
|
||
We should look for a way to do this if we can without regressing performance.
Status: RESOLVED → REOPENED
Resolution: INCOMPLETE → ---
Comment 14•2 years ago
|
||
Thank you for re-opening this! Rooting this to get it out of future triage lists.
Blocks: GC.performance
You need to log in
before you can comment on or make changes to this bug.
Description
•