[crac] Integrated: 8355974: [CRaC] Move CPUFeatures verification to the parent process of JVM
Jan Kratochvil
jkratochvil at openjdk.org
Tue May 20 09:28:21 UTC 2025
On Sun, 27 Apr 2025 15:18:17 GMT, Jan Kratochvil <jkratochvil at openjdk.org> wrote:
> There was originally a mistake:
> - restoring JVM did restore the image
> - the restored JVM started checking whether CPU Features of the new host >= CPU Features of the checkpoint host
>
> 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:
> - restoring JVM checks `cpufeatures` user data in the image against current CPU Features
> - the restored JVM is started only if the CPU Features are satisfied, restored JVM no longer has to verify anything
>
> The patch is a bit of a kitchen sink, there are various improvements of the CPU Features code.
This pull request has now been integrated.
Changeset: 2eb2197b
Author: Jan Kratochvil <jkratochvil at openjdk.org>
Committer: Radim Vansa <rvansa at openjdk.org>
URL: https://git.openjdk.org/crac/commit/2eb2197b667aafeab9e22742a4712e8245dd1f2c
Stats: 1098 lines in 22 files changed: 893 ins; 105 del; 100 mod
8355974: [CRaC] Move CPUFeatures verification to the parent process of JVM
Reviewed-by: tpushkin
-------------
PR: https://git.openjdk.org/crac/pull/227
More information about the crac-dev
mailing list