-
Notifications
You must be signed in to change notification settings - Fork 40
8355974: [CRaC] Move CPUFeatures verification to the parent process of JVM #227
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
base: crac
Are you sure you want to change the base?
Conversation
…quires transitive java.base` Reviewed-by: asotona, darcy
This reverts commit ae0e59f.
👋 Welcome back jkratochvil! A progress list of the required criteria for merging this PR into |
@jankratochvil This change is no longer ready for integration - check the PR body for details. |
|
Webrevs
|
I have not finished the review, mainly just looked at the |
That one failure: |
@jankratochvil Could you create JDK issue and refer to that in the title? |
@jankratochvil I think Radim meant creating a JBS issue for this PR itself and updating the title of the PR to be "<JBS issue №>: Move CPUFeatures...". The test should ideally be fixed as part of this PR, not separately, but I haven't looked into it. |
return; | ||
} | ||
if (!VM_Version::cpu_features_binary_check(present ? &data : nullptr)) { | ||
log_error(crac)("Image %s has incompatible CPU features in its user data %s", CRaCRestoreFrom, engine.cpufeatures_userdata_name); |
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.
I think the user doesn't really need to know the name of the user data in this case, just that the image is incompatible with their CPU. Omitting this would also allow making cpufeatures_userdata_name
a .cpp static as it was before.
There was originally a mistake:
That is difficult as glibc is already configured (IFUNC) in the image for the checkpoint host and calling any such glibc functions in the restored image will crash (as the advanced instructions from misconfigured IFUNC are not available). Some glibc functions had to be reimplemented in a dummy way inside JVM due to this misdesign.
This patch changes it to:
cpufeatures
user data in the image against current CPU FeaturesThe patch is a bit of a kitchen sink, there are various improvements of the CPU Features code.
Progress
Issue
Reviewing
Using
git
Checkout this PR locally:
$ git fetch https://git.openjdk.org/crac.git pull/227/head:pull/227
$ git checkout pull/227
Update a local copy of the PR:
$ git checkout pull/227
$ git pull https://git.openjdk.org/crac.git pull/227/head
Using Skara CLI tools
Checkout this PR locally:
$ git pr checkout 227
View PR using the GUI difftool:
$ git pr show -t 227
Using diff file
Download this PR as a diff file:
https://git.openjdk.org/crac/pull/227.diff
Using Webrev
Link to Webrev Comment