Enable parallel marking on workers
Categories
(Core :: JavaScript: GC, enhancement, P2)
Tracking
()
Tracking | Status | |
---|---|---|
firefox125 | --- | fixed |
People
(Reporter: jonco, Assigned: jonco)
References
(Blocks 1 open bug)
Details
Attachments
(1 file)
Currently this is restricted to the main runtime, but workers would benefit too.
We need to ensure that we only use it when there are enough helper threads available to avoid regressing performance when multiple runtimes are trying to collect at the same time.
Updated•1 year ago
|
Assignee | ||
Comment 1•1 year ago
|
||
This adds a per-process count of helper threads 'reserved' for parallel
marking. This means reserved with respect to parallel marking but not anything
else, so helper threads can still be used for other tasks (including GC
parallel tasks) but the number of runtimes that can mark in parallel is
limited.
The main runtime reserves threads when parallel marking is enabled to
priviledge it over worker runtimes. Workers reserve threads only for the
duration of collection. Failure to reserve threads means parallel marking is
not used.
I don't love the term 'reserved' beacuse it implies the threads cannot be used
for anything else, but I couldn't think of anything better. I've added comments
to describe what it actually means.
Comment 2•1 year ago
•
|
||
The try build seems to be working : https://share.firefox.dev/42AK3W3.
Not sure what you will make of this profile: https://share.firefox.dev/42CSRul
Assignee | ||
Comment 3•1 year ago
|
||
(In reply to Mayank Bansal from comment #2)
It looks like that worker is continually collecting. Probably the same issue as bug 1873235.
Comment 5•1 year ago
|
||
bugherder |
Description
•