Some small parallel marking improvements
Categories
(Core :: JavaScript: GC, task, P3)
Tracking
()
Tracking | Status | |
---|---|---|
firefox113 | --- | fixed |
People
(Reporter: jonco, Assigned: jonco)
References
(Blocks 1 open bug)
Details
Attachments
(4 files)
Assignee | ||
Comment 1•2 years ago
|
||
This used to be used by an earlier iteration of the code but it seems I forgot
to remove it.
Assignee | ||
Comment 2•2 years ago
|
||
There are three measurements made for parallel mark threads: 1) total time, 2)
marking time and 3) waiting time (when the thread is blocked on a condition
variable).
When calculating utilization we want to use the time the thread was running so
we should exclude waiting time. When calculating the speedup over single
threaded marking we want to use the time the thread spent marking.
Depends on D173127
Assignee | ||
Comment 3•2 years ago
|
||
We don't calculate this when marking is quick to exclude unreliable results
when the denominator of the calculation is very small. However we can mark in
less than 1 millisecond for small heaps with parallel marking, so this reduces
the threshold to 1 microsecond.
Depends on D173128
Assignee | ||
Comment 4•2 years ago
|
||
Since this can get checked by all marking threads it's not optimal to have this
as a sequentially consistent atomic as this will cause cache traffic every time
it's read.
We should be able to make this a relaxed atomic without observable difference
to interruptible GC.
Depends on D173129
Comment 6•2 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/4c55048434e2
https://hg.mozilla.org/mozilla-central/rev/d6d6b895d730
https://hg.mozilla.org/mozilla-central/rev/2d6a608863af
https://hg.mozilla.org/mozilla-central/rev/b2be266873a2
Description
•