Closed Bug 1978751 Opened 1 month ago Closed 1 month ago

Full (all-zones) GCs are triggered for allocation triggers

Categories

(Core :: Cycle Collector, defect)

defect

Tracking

()

RESOLVED FIXED
143 Branch
Tracking Status
firefox143 --- fixed

People

(Reporter: jonco, Assigned: jonco)

References

(Blocks 1 open bug)

Details

Attachments

(1 file)

When the JS engine finds a zone's memory thresholds have been exceeded it triggers a GC for that single zone. However the cycle collector will add in all other zones if it didn't have any zones it was going to schedule, which is probably the case a lot of the time. This means we do full GCs more often than we need to.

Fixing this should increase the proportion of zone GCs and reduce the amount of GC work.

If a GC has been triggered internally by the JS engine the cycle collector will
likely not have any zones waiting. The patch stops a full GC being triggered in
this case.

Status: NEW → RESOLVED
Closed: 1 month ago
Resolution: --- → FIXED
Target Milestone: --- → 143 Branch

14% imrpovement on Ares6-Basic_firstiteration

Regressions: 1981899
QA Whiteboard: [qa-triage-done-c144/b143]
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: