heap: Raise concurrent marking priority if no progress is made
With the new jobs api, concurrent marking tasks get a lower priority than before. We've seen cases where that means no concurrent marking tasks are executed, which leads to long GC times. I've seen a trace that contains a GC from 10.8s to 13.2s (2.4s in total). During this GC there are no concurrent marking tasks because wasm compilation tasks are given a higher priority. However, as long as GC is running, the mutator thread pays the cost of write barriers. Thus it is in our interest to finish marking as soon as possible. This CL raises the priority of concurrent marking tasks for the current gc cycle if there was no concurrent progress being made for a significant portion of the expected marking duration. Bug: 1119552 Change-Id: I1934e72df171b63292513b63be1ddee925806718 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2378305Reviewed-by:Hannes Payer <hpayer@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Omer Katz <omerkatz@chromium.org> Cr-Commit-Position: refs/heads/master@{#803267}
Showing
Please register or sign in to comment