[crac] RFR: Add debug flag to -XX:CREngine.
Kimura Yukihiro
kyukihiro at openjdk.org
Sun Dec 24 23:51:31 UTC 2023
Hello everyone,
This is my first PR for the CRAC project. I propose three modifications to the criuengine.
Firstly, I suggest adding a debug flag to the criuengine, as some JDK C/C++ native codes have the debug flag.
My proposal is to pass the debug flag using "-XX:CREngine=criuengine,debug,true".
Secondly, the criuengine has a useful function, print_command_args_to_stderr(), which prints the criu command line.
However, it is only called when an error occurs. I believe it would be beneficial if the criu command line is printed when the debug flag is specified.
The criu command line is built from the parameter of -XX:CREngine and environment variables such as CRAC_CRIU_PATH and CRAC_CRIU_OPT.
It would be helpful to see how it is actually assembled.
For example:
$ export CRAC_CRIU_PATH=/work/criu-crac-release-1.4/sbin/criu
$ ./jdk/bin/java -XX:CREngine=/work/jdk/lib/criuengine,-v,3,-o,output3.log,-d,true -XX:CRaCCheckpointTo=cr Test
Command: /work/criu-crac-release-1.4/sbin/criu dump -t 3232214 -D cr --shell-job '--verbosity=3' -o output3.log
Thirdly, I propose that the criuengine command line, which is executed by the JavaVM, be printed when "-XX:CREngine=criuengine,debug,true" is specified.
For example,
CRaC info executing: /work/jdk/lib/criuengine checkpoint -v 3 -o output3.log -d true cr
Testing:
I have verified the jdk/crac/VMOptionsTest.java, which is a test for -XX:CREngine. I believe it's unnecessary to add a test for the debug flag to it.
Could you please review these modifications?
Thank you,
Kimura Yukihiro
-------------
Commit messages:
- Add debug flag to -XX:CREngine.
Changes: https://git.openjdk.org/crac/pull/151/files
Webrev: https://webrevs.openjdk.org/?repo=crac&pr=151&range=00
Stats: 23 lines in 2 files changed: 22 ins; 0 del; 1 mod
Patch: https://git.openjdk.org/crac/pull/151.diff
Fetch: git fetch https://git.openjdk.org/crac.git pull/151/head:pull/151
PR: https://git.openjdk.org/crac/pull/151
More information about the crac-dev
mailing list