[crac] RFR: 8353243: [CRaC] Show all options in engine help [v4]

Timofei Pushkin tpushkin at openjdk.org
Tue Apr 8 10:53:21 UTC 2025


> C/R engines are now advised to list all options in `configuration_doc`. If JVM does not let users to control some options it states that in the engine help message.
> 
> crexec now documents internal options, such as `image_location` and `exec_location`, in its doc message.
> 
> This is how crexec's help looks with this change:
> 
> $ java -XX:CRaCEngineOptions=help
> crexec - pseudo-CRaC-engine used to relay data from JVM to a "real" engine implemented as an executable (instead of a library). The engine executable is expected to have CRaC-CRIU-like CLI. Support of the configuration options also depends on the engine executable.
> 
> Configuration options:
> * image_location=<path> (no default) - path to a directory with checkpoint/restore files.
> * exec_location=<path> (no default) - path to the engine executable.
> * keep_running=<true/false> (default: false) - keep the process running after the checkpoint or kill it.
> * direct_map=<true/false> (default: true) - on restore, map process data directly from saved files. This may speedup the restore but the resulting process will not be the same as before the checkpoint.
> * args=<string> (default: "") - free space-separated arguments passed directly to the engine executable, e.g. "--arg1 --arg2 --arg3".
> 
> Configuration options controlled by the JVM: image_location, exec_location

Timofei Pushkin has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains four commits:

 - Make list of VM-controlled options static
 - Use comma as a separator when printing controlled options
 - Simplify vm_controlled_options
 - Show all options in engine help

-------------

Changes: https://git.openjdk.org/crac/pull/220/files
  Webrev: https://webrevs.openjdk.org/?repo=crac&pr=220&range=03
  Stats: 82 lines in 6 files changed: 61 ins; 8 del; 13 mod
  Patch: https://git.openjdk.org/crac/pull/220.diff
  Fetch: git fetch https://git.openjdk.org/crac.git pull/220/head:pull/220

PR: https://git.openjdk.org/crac/pull/220


More information about the crac-dev mailing list