Emergency GCs should wait for background free
Categories
(Core :: JavaScript: GC, task, P1)
Tracking
()
Tracking | Status | |
---|---|---|
firefox112 | --- | fixed |
People
(Reporter: pbone, Assigned: pbone)
References
(Blocks 2 open bugs)
Details
Attachments
(4 files, 1 obsolete file)
I was looking at AWSY results and thought I saw a problem with the measurements taken after a GC. I was concerned that the GC doesn't wait for the free task to finish and the measurement can race with the free task. Free tasks are usually started by minor GCs but can also be started after sweeping. I wrote some patches to investigate and found that they made no difference to AWSY results, however they may still be a good idea since they should free more memory synchronously for emergency GCs.
Assignee | ||
Comment 1•2 years ago
|
||
Assignee | ||
Comment 2•2 years ago
|
||
Depends on D169578
Assignee | ||
Comment 3•2 years ago
|
||
The purgeRuntime() call can add lifo blocks to be freed by the free task.
So we should start the free task after adding this call so it has a
better chance of freeing all the lifo blocks.
Depends on D169579
Assignee | ||
Comment 4•2 years ago
|
||
Do any off-thread freeing work created by sweeping on the main thread during
non-incremental GCs, to ensure that the work completes by the end of the GC.
Depends on D169580
Assignee | ||
Comment 5•2 years ago
|
||
Depends on D169581
Updated•2 years ago
|
Updated•2 years ago
|
Updated•2 years ago
|
Updated•2 years ago
|
Updated•2 years ago
|
Comment 7•2 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/0618800d5910
https://hg.mozilla.org/mozilla-central/rev/709c4be1e56f
https://hg.mozilla.org/mozilla-central/rev/b32dfa568997
https://hg.mozilla.org/mozilla-central/rev/1a6c81eba852
Description
•