Skip to content

Fix GC pacing problem exacerbated by mark-delay #3331

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Dec 3, 2024

Conversation

NickBarnes
Copy link
Contributor

This fixes a problem detected by CI when upstreaming #2348 / #2358 / #3029 to ocaml/ocaml#13580. It is a pacing problem in which major GC work performed can, in some circumstances, fall further and further behind the estimated work required. See the discussion on ocaml/ocaml#13580 for more details. In a long-running process this could be problematic, leading to longer GC pauses. On 32-bit platforms the flawed estimation can lead to an overflow which stops GC altogether, fatally. The short-term fix in this PR applies a "catch-up" adjustment when it may be necessary. Work is in progress on replacing all the pacing code, which should result in a longer-term fix.

This is one of the three fixes in #3297, which @mshinwell asked to be separated out.

@mshinwell mshinwell merged commit aded4b5 into ocaml-flambda:main Dec 3, 2024
19 checks passed
@mshinwell
Copy link
Collaborator

This seems to be causing a flaky test failure e.g. https://github.com/ocaml-flambda/flambda-backend/actions/runs/12143046690/job/33858963003 . Reverting for now, I've pinged Nick separately.

mshinwell added a commit that referenced this pull request Dec 5, 2024
mshinwell added a commit that referenced this pull request Dec 5, 2024
Revert "Fix GC pacing problem exacerbated by mark-delay (#3331)"

This reverts commit aded4b5.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants