-
Notifications
You must be signed in to change notification settings - Fork 706
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
CRIU Verbose Logging Reinit/Reconfig for Restore #16845
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
RSalman
force-pushed
the
criu-vb-rework
branch
3 times, most recently
from
March 7, 2023 22:02
d3e423e
to
4fcd3b8
Compare
RSalman
added a commit
to RSalman/omr
that referenced
this pull request
Mar 7, 2023
Verbose GC OMR API changes to support CRIU Verbose GC logging: eclipse-openj9/openj9#16845 Related: eclipse#6888 (comment) Signed-off-by: Salman Rana <salman.rana@ibm.com>
RSalman
added a commit
to RSalman/omr
that referenced
this pull request
Mar 7, 2023
Verbose GC API changes to support CRIU Verbose GC logging: eclipse-openj9/openj9#16845 Related: eclipse#6888 (comment) Signed-off-by: Salman Rana <salman.rana@ibm.com>
dmitripivkine
added
comp:vm
comp:gc
criu
Used to track CRIU snapshot related work
labels
Mar 8, 2023
RSalman
added a commit
to RSalman/omr
that referenced
this pull request
Mar 8, 2023
Verbose GC API changes to support CRIU Verbose GC logging: eclipse-openj9/openj9#16845 - Introduced J9HOOK_MM_OMR_REINITIALIZED event and verbose handler - Added tearDown call to MM_VerboseWriterFileLogging::reconfigure to free memory before a reinit Related: eclipse#6888 (comment) Signed-off-by: Salman Rana <salman.rana@ibm.com>
RSalman
added a commit
to RSalman/omr
that referenced
this pull request
Mar 9, 2023
Verbose GC API changes to support CRIU Verbose GC logging: eclipse-openj9/openj9#16845 - Introduced J9HOOK_MM_OMR_REINITIALIZED event and verbose handler - Added tearDown call to MM_VerboseWriterFileLogging::reconfigure to free memory before a reinit Related: eclipse#6888 (comment) Signed-off-by: Salman Rana <salman.rana@ibm.com>
tajila
approved these changes
Mar 9, 2023
tajila
reviewed
Mar 9, 2023
RSalman
added a commit
to RSalman/omr
that referenced
this pull request
Mar 9, 2023
Verbose GC API changes to support CRIU Verbose GC logging: eclipse-openj9/openj9#16845 - Introduced J9HOOK_MM_OMR_REINITIALIZED event and verbose handler - Added missing tearDown call to MM_VerboseWriterFileLogging::reconfigure to free memory before a reinit - GC Extensions Base class reinitalizationInProgress introduced, reimplemented by derived class downstream - VerboseManagerBase fileOpenMode introduced, reimplemented by derived class downstream - Verbose File Writers now query verbose manager with fileOpenMode to determine the file should be appended to Related: eclipse#6888 (comment) Signed-off-by: Salman Rana <salman.rana@ibm.com>
RSalman
added a commit
to RSalman/omr
that referenced
this pull request
Mar 9, 2023
Verbose GC API changes to support CRIU Verbose GC logging: eclipse-openj9/openj9#16845 - Introduced J9HOOK_MM_OMR_REINITIALIZED event and verbose handler - Added missing tearDown call to MM_VerboseWriterFileLogging::reconfigure to free memory before a reinit - GC Extensions Base class reinitalizationInProgress introduced, reimplemented by derived class downstream - VerboseManagerBase fileOpenMode introduced, reimplemented by derived class downstream - Verbose File Writers now query verbose manager with fileOpenMode to determine the file should be appended to Related: eclipse#6888 (comment) Signed-off-by: Salman Rana <salman.rana@ibm.com>
RSalman
added a commit
to RSalman/omr
that referenced
this pull request
Mar 10, 2023
Verbose GC API changes to support CRIU Verbose GC logging: eclipse-openj9/openj9#16845 - Introduced J9HOOK_MM_OMR_REINITIALIZED event and verbose handler - Added missing tearDown call to MM_VerboseWriterFileLogging::reconfigure to free memory before a reinit - GC Extensions Base class reinitalizationInProgress introduced, reimplemented by derived class downstream - VerboseManagerBase fileOpenMode introduced, reimplemented by derived class downstream - Verbose File Writers now query verbose manager with fileOpenMode to determine the file should be appended to Related: eclipse#6888 (comment) Signed-off-by: Salman Rana <salman.rana@ibm.com>
RSalman
added a commit
to RSalman/omr
that referenced
this pull request
Mar 10, 2023
Verbose GC API changes to support CRIU Verbose GC logging: eclipse-openj9/openj9#16845 - Introduced J9HOOK_MM_OMR_REINITIALIZED event and verbose handler - Added missing tearDown call to MM_VerboseWriterFileLogging::reconfigure to free memory before a reinit - GC Extensions Base class reinitalizationInProgress introduced, reimplemented by derived class downstream - VerboseManagerBase fileOpenMode introduced, reimplemented by derived class downstream - Verbose File Writers now query verbose manager with fileOpenMode to determine the file should be appended to Related: eclipse#6888 (comment) Signed-off-by: Salman Rana <salman.rana@ibm.com>
RSalman
added a commit
to RSalman/omr
that referenced
this pull request
Mar 10, 2023
Verbose GC API changes to support CRIU Verbose GC logging: eclipse-openj9/openj9#16845 - Introduced J9HOOK_MM_OMR_REINITIALIZED event and verbose handler - Added missing tearDown call to MM_VerboseWriterFileLogging::reconfigure to free memory before a reinit - GC Extensions Base class reinitalizationInProgress introduced, reimplemented by derived class downstream - VerboseManagerBase fileOpenMode introduced, reimplemented by derived class downstream - Verbose File Writers now query verbose manager with fileOpenMode to determine the file should be appended to Related: eclipse#6888 (comment) Signed-off-by: Salman Rana <salman.rana@ibm.com>
RSalman
added a commit
to RSalman/omr
that referenced
this pull request
Mar 10, 2023
Verbose GC API changes to support CRIU Verbose GC logging: eclipse-openj9/openj9#16845 - Introduced J9HOOK_MM_OMR_REINITIALIZED event and verbose handler - Added missing tearDown call to MM_VerboseWriterFileLogging::reconfigure to free memory before a reinit - GC Extensions Base class reinitalizationInProgress introduced, reimplemented by derived class downstream - VerboseManagerBase fileOpenMode introduced, reimplemented by derived class downstream - Verbose File Writers now query verbose manager with fileOpenMode to determine the file should be appended to Related: eclipse#6888 (comment) Signed-off-by: Salman Rana <salman.rana@ibm.com>
RSalman
added a commit
to RSalman/omr
that referenced
this pull request
Mar 10, 2023
Verbose GC API changes to support CRIU Verbose GC logging: eclipse-openj9/openj9#16845 - Introduced J9HOOK_MM_OMR_REINITIALIZED event and verbose handler - Added missing tearDown call to MM_VerboseWriterFileLogging::reconfigure to free memory before a reinit - GC Extensions Base class reinitalizationInProgress introduced, reimplemented by derived class downstream - VerboseManagerBase fileOpenMode introduced, reimplemented by derived class downstream - Verbose File Writers now query verbose manager with fileOpenMode to determine the file should be appended to Related: eclipse#6888 (comment) Signed-off-by: Salman Rana <salman.rana@ibm.com>
RSalman
added a commit
to RSalman/omr
that referenced
this pull request
Mar 10, 2023
Verbose GC API changes to support CRIU Verbose GC logging: eclipse-openj9/openj9#16845 - Introduced J9HOOK_MM_OMR_REINITIALIZED event. This is required by the verbose handler to print init details upon snapshot restore. - Added missing tearDown call to MM_VerboseWriterFileLogging::reconfigure to free memory before a reinit. - GC Extensions Base class reinitializationInProgress introduced, this is to be implemented by downstream J9 derived class. - VerboseManagerBase fileOpenMode query introduced, this is to be implemented by downstream J9 derived class. - Verbose file writers now query the verbose manager (fileOpenMode) to determine if an opened file should be appended to. Related: eclipse#6888 (comment) Signed-off-by: Salman Rana <salman.rana@ibm.com>
RSalman
added a commit
to RSalman/omr
that referenced
this pull request
Mar 14, 2023
Verbose GC API changes to support CRIU Verbose GC logging: eclipse-openj9/openj9#16845 - Introduced J9HOOK_MM_OMR_REINITIALIZED event. This is required by the verbose handler to print init details upon snapshot restore. - Added missing tearDown call to MM_VerboseWriterFileLogging::reconfigure to free memory before a reinit. - GC Extensions Base class reinitializationInProgress introduced, this is to be implemented by downstream J9 derived class. - VerboseManagerBase fileOpenMode query introduced, this is to be implemented by downstream J9 derived class. - Verbose file writers now query the verbose manager (fileOpenMode) to determine if an opened file should be appended to. Related: eclipse#6888 (comment) Signed-off-by: Salman Rana <salman.rana@ibm.com>
RSalman
added a commit
to RSalman/omr
that referenced
this pull request
Mar 14, 2023
Verbose GC API changes to support CRIU Verbose GC logging: eclipse-openj9/openj9#16845 - Introduced J9HOOK_MM_OMR_REINITIALIZED event. This is required by the verbose handler to print init details upon snapshot restore. - Added missing tearDown call to MM_VerboseWriterFileLogging::reconfigure to free memory before a reinit. - GC Extensions Base class reinitializationInProgress introduced, this is to be implemented by downstream J9 derived class. - VerboseManagerBase fileOpenMode query introduced, this is to be implemented by downstream J9 derived class. - Verbose file writers now query the verbose manager (fileOpenMode) to determine if an opened file should be appended to. Related: eclipse#6888 (comment) Signed-off-by: Salman Rana <salman.rana@ibm.com>
RSalman
added a commit
to RSalman/omr
that referenced
this pull request
Mar 14, 2023
Verbose GC API changes to support CRIU Verbose GC logging: eclipse-openj9/openj9#16845 - Introduced J9HOOK_MM_OMR_REINITIALIZED event. This is required by the verbose handler to print init details upon snapshot restore. - Added missing tearDown call to MM_VerboseWriterFileLogging::reconfigure to free memory before a reinit. - GC Extensions Base class reinitializationInProgress introduced, this is to be implemented by downstream J9 derived class. - VerboseManagerBase fileOpenMode query introduced, this is to be implemented by downstream J9 derived class. - Verbose file writers now query the verbose manager (fileOpenMode) to determine if an opened file should be appended to. Related: eclipse#6888 (comment) Signed-off-by: Salman Rana <salman.rana@ibm.com>
RSalman
added a commit
to RSalman/omr
that referenced
this pull request
Mar 14, 2023
Verbose GC API changes to support CRIU Verbose GC logging: eclipse-openj9/openj9#16845 - Introduced J9HOOK_MM_OMR_REINITIALIZED event. This is required by the verbose handler to print init details upon snapshot restore. - Added missing tearDown call to MM_VerboseWriterFileLogging::reconfigure to free memory before a reinit. - GC Extensions Base class reinitializationInProgress introduced, this is to be implemented by downstream J9 derived class. - VerboseManagerBase fileOpenMode query introduced, this is to be implemented by downstream J9 derived class. - Verbose file writers now query the verbose manager (fileOpenMode) to determine if an opened file should be appended to. Related: eclipse#6888 (comment) Signed-off-by: Salman Rana <salman.rana@ibm.com>
amicic
reviewed
Mar 15, 2023
runtime/gc_base/modronapi.cpp
Outdated
@@ -1124,9 +1125,10 @@ j9gc_reinitialize_for_restore(J9VMThread *vmThread, const char **nlsMsgFormat) | |||
{ | |||
MM_EnvironmentBase *env = MM_EnvironmentBase::getEnvironment(vmThread->omrVMThread); | |||
MM_GCExtensionsBase *extensions = env->getExtensions(); | |||
MM_VerboseManagerBase *verboseGCManager = extensions->verboseGCManager; | |||
J9JavaVM* vm = vmThread->javaVM; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Suggested change
J9JavaVM* vm = vmThread->javaVM; | |
J9JavaVM *vm = vmThread->javaVM; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed + reverted file header dates to fix merge conflicts
Implementation to support CRIU Verbose GC logging. Verbose GC logging must be properly initialized and reconfigured, taking into account both restore options and initial verbose configuration at startup. There are multiple configuration scenarios possible depending on whether logging is enabled/disabled (pre/post restore) and the options provided at each phase. - Introduced reinitalizationInProgress GC Extensions API, this is queried by GC to check if we're in the middle of restore reinit - Introduced checkOptsAndInitVerbosegclog in verbose function table, high level method to check opt args and init verbose - fileOpenMode implemented for VerboseManagerJava to signify that verbose file writers must append during reinit Related: eclipse/omr#6888 (comment) Signed-off-by: Salman Rana <salman.rana@ibm.com>
Jenkins test sanity xlinuxcriu jdk17 |
Jenkins test sanity win jdk11 |
Jenkins compile aix jdk8 |
amicic
approved these changes
Mar 15, 2023
RSalman
added a commit
to RSalman/omr
that referenced
this pull request
Mar 15, 2023
Verbose GC API changes to support CRIU Verbose GC logging: eclipse-openj9/openj9#16845 - Introduced J9HOOK_MM_OMR_REINITIALIZED event. This is required by the verbose handler to print init details upon snapshot restore. - Added missing tearDown call to MM_VerboseWriterFileLogging::reconfigure to free memory before a reinit. - GC Extensions Base class reinitializationInProgress introduced, this is to be implemented by downstream J9 derived class. - VerboseManagerBase fileOpenMode query introduced, this is to be implemented by downstream J9 derived class. - Verbose file writers now query the verbose manager (fileOpenMode) to determine if an opened file should be appended to. Related: eclipse#6888 (comment) Signed-off-by: Salman Rana <salman.rana@ibm.com>
RSalman
added a commit
to RSalman/openj9-omr
that referenced
this pull request
Mar 15, 2023
Verbose GC API changes to support CRIU Verbose GC logging: eclipse-openj9/openj9#16845 - Introduced J9HOOK_MM_OMR_REINITIALIZED event. This is required by the verbose handler to print init details upon snapshot restore. - Added missing tearDown call to MM_VerboseWriterFileLogging::reconfigure to free memory before a reinit. - GC Extensions Base class reinitializationInProgress introduced, this is to be implemented by downstream J9 derived class. - VerboseManagerBase fileOpenMode query introduced, this is to be implemented by downstream J9 derived class. - Verbose file writers now query the verbose manager (fileOpenMode) to determine if an opened file should be appended to. Related: eclipse/omr#6888 (comment) Signed-off-by: Salman Rana <salman.rana@ibm.com>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Implementation to support CRIU Verbose GC logging.
Related: eclipse/omr#6888 (comment)
Depends on: eclipse/omr#6920
Signed-off-by: Salman Rana salman.rana@ibm.com