Skip to content

0.51: Only allow one active comp thread pre-checkpoint under -XX:+DebugOnRestore #21468

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

Conversation

dsouzai
Copy link
Contributor

@dsouzai dsouzai commented Mar 24, 2025

Cherry-pick of #21453

…store

Under -XX:+DebugOnRestore, the compiler generates a bunch of FSD bodies
pre-checkpoint, and then proacively recompiles them without FSD in the
checkpoint hook. If the queue gets big, more than one compilation thread
may be activated; compilations in parallel generally require a distinct
code cache per thread. However, because the code caches are backed by
Huge Pages (which means touching a small part of the page brings the
entire page into RSS), multiple compilation threads can cause the code
bodies to get fragmented across multiple code caches (rather than being
compacted in a smaller set) ultimately increasing the total RSS memory
footprint.

This change fixes this by only allowing one compilation thread
pre-checkpoint (under -XX:+DebugOnRestore). While this increases the
checkpoint time, it reduces the footprint post-restore caused by the
increased code cache usage of -XX:+DebugOnRestore.

Signed-off-by: Irwin D'Souza <[email protected]>
@dsouzai
Copy link
Contributor Author

dsouzai commented Mar 24, 2025

@dsouzai dsouzai changed the title Only allow one active comp thread pre-checkpoint under -XX:+DebugOnRestore 0.51: Only allow one active comp thread pre-checkpoint under -XX:+DebugOnRestore Mar 24, 2025
@pshipton pshipton added comp:jit criu Used to track CRIU snapshot related work labels Mar 24, 2025
Copy link
Contributor

@mpirvu mpirvu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@mpirvu mpirvu self-assigned this Mar 24, 2025
@mpirvu mpirvu merged commit afa757e into eclipse-openj9:v0.51.0-release Mar 24, 2025
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
comp:jit criu Used to track CRIU snapshot related work
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants