Skip to content
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

Initial CRIU serviceability infrastructure #16528

Merged
merged 3 commits into from
Jan 20, 2023

Conversation

dsouzai
Copy link
Contributor

@dsouzai dsouzai commented Jan 9, 2023

Options passed to the JVM are consumed by the JIT in different places and at different points during the bootstrap process. However, often the string literals that are used for the comparison are scattered across various locations. This is particularly problematic for something like the CRIU feature where we may need to process options post restore.

This PR gathers all the string literals and puts them in an array. The reason for doing this, rather than just have them be a bunch of #defines in a header file, is so that for the CRIU feature post restore options processing, we can just iterate over the array and explicitly decide what we want to do with the option.

This PR introduces a new enum class called TR::ExternalOptions, wherein each enum value has a 1-1 mapping with the string literal associated with the VM option consumed by the JIT.

This PR also introduces the JIT_METADATA_IS_PRECHECKPOINT_COMP flag that is set on the J9JITExceptionTable to indicate whether a compilation was performed pre-checkpoint.

@dsouzai dsouzai added comp:jit comp:jitserver Artifacts related to JIT-as-a-Service project labels Jan 9, 2023
Signed-off-by: Irwin D'Souza <dsouzai.gh@gmail.com>
@dsouzai dsouzai added the criu Used to track CRIU snapshot related work label Jan 9, 2023
@dsouzai
Copy link
Contributor Author

dsouzai commented Jan 9, 2023

@ymanton could you please review? fyi @mpirvu

Copy link
Member

@ymanton ymanton left a comment

Choose a reason for hiding this comment

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

Patches look alright to me. I'd suggest comments near the enum and array mentioning that the other exists, which file its in, and needs to be kept in sync.

@dsouzai
Copy link
Contributor Author

dsouzai commented Jan 13, 2023

@ymanton made requested changes (see force push).

Signed-off-by: Irwin D'Souza <dsouzai.gh@gmail.com>
Signed-off-by: Irwin D'Souza <dsouzai.gh@gmail.com>
@dsouzai
Copy link
Contributor Author

dsouzai commented Jan 13, 2023

Missed the part about adding the file name, did so in this force push.

@dsouzai
Copy link
Contributor Author

dsouzai commented Jan 16, 2023

@ymanton good for review again.

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

@ymanton
Copy link
Member

ymanton commented Jan 16, 2023

Jenkins test sanity.functional xlinux,plinux,zlinux,alinux64 jdk11

@dsouzai
Copy link
Contributor Author

dsouzai commented Jan 17, 2023

plinux and xlinux have failed because of

All nodes of label ‘ci.role.build&&hw.arch.ppc64le&&sw.os.cent.7’ are offline
All nodes of label ‘ci.role.build&&hw.arch.x86&&sw.tool.docker’ are offline

I believe because the UNB machines are down.

@pshipton
Copy link
Member

https://openj9.slack.com/archives/CDS7QE9HB/p1673907333439259
All the UNB machines are offline in jenkins: amac, xmac, plinux, xlinux. We won't have any OMR promotions, PR builds, or full nightly testing until these are back online.

@dsouzai
Copy link
Contributor Author

dsouzai commented Jan 19, 2023

Jenkins test sanity.functional xlinux,plinux jdk11

@ymanton ymanton merged commit 55de278 into eclipse-openj9:master Jan 20, 2023
@dsouzai dsouzai deleted the externalOptions branch April 3, 2024 13:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
comp:jit comp:jitserver Artifacts related to JIT-as-a-Service project criu Used to track CRIU snapshot related work
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants