Right now CRaC will refuse to restore from the image if it is not compatible with current CPU as it assumes extra features. This check can be only relaxed with -XX:+UnlockExperimentalVMOptions -XX:+IgnoreCPUFeatures.
In scenarios with -XX:CRaCIgnoreRestoreIfUnavailable it might be favorable to skip the restore and proceed with running the application from scratch with all CPU features if the image has these restricted. Therefore I propose to create a new option -XX:CheckCPUFeatures with these values:
* compatible - this is the current behaviour (default)
* exact - require CPU features from the image to match perfectly
* skip - the same behaviour as `-XX:+IgnoreCPUFeatures`.
The current `-XX:+IgnoreCPUFeatures` option will be deprecated.
In scenarios with -XX:CRaCIgnoreRestoreIfUnavailable it might be favorable to skip the restore and proceed with running the application from scratch with all CPU features if the image has these restricted. Therefore I propose to create a new option -XX:CheckCPUFeatures with these values:
* compatible - this is the current behaviour (default)
* exact - require CPU features from the image to match perfectly
* skip - the same behaviour as `-XX:+IgnoreCPUFeatures`.
The current `-XX:+IgnoreCPUFeatures` option will be deprecated.
- links to
-
Commit(crac)
openjdk/crac/af6c8445
-
Review(crac)
openjdk/crac/285