Open Bug 1444013 Opened 3 years ago Updated 2 years ago
The collector should yield after nursery collection if the budget is exceeded
If during a collection slice, nursery collection exceeds the budget (or maybe comes within 90% of it), the collection should yield without attempting any tenured heap collection. Even if this means re-doing a minor collection on the next slice. I just saw a minor collection take 25ms, and the the root marking and some of the tenured heap marking took a further 11ms. Consuming 36ms in a 15ms budget. Since we do not yet incrementalize root marking we may get an easy win by yielding here. I'd like to do this after my patches to do nursery collection less often.
(In reply to Paul Bone [:pbone] from comment #0) Oh, good idea. > I just saw a minor collection take 25ms Ouch, that's pretty bad.
Note that we could get into a situtation where the GC makes no progress because we're always exceeding the budget, this is fairly unlikely but someone could get unlucky (it'd result in a non-icremental collection). In that case it'd be best to decrese the trigger for the GC when we hit this condition, so the following GC occurs sooner and the nursery is not so full. I also have Bug 1397549 for decreasing the nursery size if nursery collection takes too long, it could be linked with this condition.
Assignee: nobody → pbone
Status: NEW → ASSIGNED
Attachment #9011670 - Flags: review?(sphink)
Comment on attachment 9011670 [details] [diff] [review] Bug 1444013 - End the slice if nursery collection took too long Review of attachment 9011670 [details] [diff] [review]: ----------------------------------------------------------------- Makes sense.
Attachment #9011670 - Flags: review?(sphink) → review+
Pushed by email@example.com: https://hg.mozilla.org/integration/mozilla-inbound/rev/92cde451be94 End the slice if nursery collection took too long r=sfink
Backed out changeset 92cde451be94 (Bug 1444013) for failures in tests/dom/media/tests/crashtests/1453030.html Push with failures: https://treeherder.mozilla.org/#/jobs?repo=mozilla-inbound&resultStatus=testfailed,busted,exception&classifiedState=unclassified&selectedJob=201691222&revision=92cde451be94e8872abb9068da5d89197bd3e925 Failure log: https://treeherder.mozilla.org/logviewer.html#?job_id=201691222&repo=mozilla-inbound&lineNumber=2535 Backout: https://hg.mozilla.org/integration/mozilla-inbound/rev/f1ff861fc70df756b1e6e5d37945be158385d881
I'm assuming that this test is timing out because the nursery collections take too long and it makes no GC progress. I'll leave this bug open and revisit it after Bug 1397549
Depends on: 1397549
You need to log in before you can comment on or make changes to this bug.