Skip to content

Minor changes to the ProcessRootNode work packet #1327

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 4 commits into from
May 27, 2025

Conversation

wks
Copy link
Collaborator

@wks wks commented May 26, 2025

Renamed ProcessRootNode to ProcessRootNodes because it obviously processes multiple roots.

If no objects are enqueued, we do not blindly create empty ScanObjects work packets. During nursery GC, it is likely that many root edges point to mature nodes, and mature objects are not enqueued during nursery GC.

We also added eBPF trace points to show how many roots are there in a ProcessRootNodes work packet, and how many objects are actually enqueued.

wks added 4 commits May 26, 2025 17:49
If no objects are enqueued, we do not blindly create empty `ScanObjects`
work packets.  During nursery GC, it is likely that many root edges
point to mature nodes, and mature objects are not enqueued during
nursery GC.

We also added eBPF trace points to show how many roots are there in a
ProcessRootNodes work packet, and how many objects are actually
enqueued.
@wks wks added the PR-extended-testing Run extended tests for the pull request label May 26, 2025
@wks wks requested a review from qinsoon May 27, 2025 07:31
@wks
Copy link
Collaborator Author

wks commented May 27, 2025

@qinsoon I opened this PR because when debugging CRuby binding, I found that some ProcessRootNode work packets actually enqueued 0 objects, but still generated ScanObject work packets of 0 elements. This may affect Julia, too, because it also uses pinning and transitive-pinning roots. This PR will help eliminating those unnecessary work packets. Now this PR is ready for review.

@wks wks added this pull request to the merge queue May 27, 2025
Merged via the queue into mmtk:master with commit 3d89bb5 May 27, 2025
38 checks passed
@wks wks deleted the fix/root-nodes-empty branch May 27, 2025 11:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
PR-extended-testing Run extended tests for the pull request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants