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

Add ability to sleep before checkpoint #15789

Merged
merged 1 commit into from
Sep 2, 2022

Conversation

dsouzai
Copy link
Contributor

@dsouzai dsouzai commented Aug 29, 2022

This PR adds the ability to sleep before a checkpoint to allow the
compilation threads to compile the methods already present in the
compilation queue. It is important that the hook thread releases both
VM Access and the Compilation Monitor before sleeping; otherwise, the
compilation threads will not be able to empty the queue.

This commit adds the ability to sleep before a checkpoint to allow the
compilation threads to compile the methods already present in the
compilation queue. It is important that the hook thread releases both
VM Access and the Compilation Monitor before sleeping; otherwise, the
compilation threads will not be able to empty the queue.

Signed-off-by: Irwin D'Souza <dsouzai.gh@gmail.com>
@dsouzai dsouzai added comp:jit criu Used to track CRIU snapshot related work labels Aug 29, 2022
@dsouzai
Copy link
Contributor Author

dsouzai commented Aug 29, 2022

I tested this using -XX:+EnableCRIUSupport '-Xjit:verbose={compilePerformance},verbose={CheckpointRestore*},vlog=vlog':

$ cat vlog.20220829.110557.777268 | grep CHECKPOINT
#CHECKPOINT RESTORE: Preparing for checkpoint
#CHECKPOINT RESTORE: Sleeping for 1000 ms
#CHECKPOINT RESTORE: Ready for checkpoint
#CHECKPOINT RESTORE: Preparing for restore
#CHECKPOINT RESTORE: Ready for restore

and -XX:+EnableCRIUSupport '-Xjit:verbose={compilePerformance},verbose={CheckpointRestore*},vlog=vlog,sleepMsBeforeCheckpoint=5000':

$ cat vlog.20220829.112354.778849 | grep CHECKPOINT
#CHECKPOINT RESTORE: Preparing for checkpoint
#CHECKPOINT RESTORE: Sleeping for 5000 ms
#CHECKPOINT RESTORE: Ready for checkpoint
#CHECKPOINT RESTORE: Preparing for restore
#CHECKPOINT RESTORE: Ready for restore

@dsouzai
Copy link
Contributor Author

dsouzai commented Aug 29, 2022

@ymanton could you please review/merge?

@tajila fyi

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.

LGTM.

@ymanton
Copy link
Member

ymanton commented Aug 29, 2022

Jenkins test sanity xlinuxcriu jdk11

@ymanton
Copy link
Member

ymanton commented Aug 30, 2022

Jenkins test sanity xlinuxcriu jdk11

@dsouzai
Copy link
Contributor Author

dsouzai commented Aug 30, 2022

Build failure because the openj9 branch in the openj9-omr repo hasn't promoted yet, probably because of the UNB machine outages.

@pshipton
Copy link
Member

Working on promoting up to eclipse-openj9/openj9-omr@063dc5d6, further changes such as eclipse-openj9/openj9-omr@87a76017e are blocked on #15791

@dsouzai
Copy link
Contributor Author

dsouzai commented Sep 2, 2022

Jenkins test sanity xlinuxcriu jdk11

@dsouzai
Copy link
Contributor Author

dsouzai commented Sep 2, 2022

@ymanton all tests passed, should be good to merge.

@tajila
Copy link
Contributor

tajila commented Sep 2, 2022

Ill merge so it can get in the nightly

@tajila tajila merged commit 8fd27ff into eclipse-openj9:master Sep 2, 2022
@dsouzai dsouzai deleted the sleepBeforeCheckpoint branch February 3, 2023 16:21
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.

None yet

4 participants