aboutsummaryrefslogtreecommitdiff
path: root/kernel/signal.c
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2021-10-22 20:55:51 +0200
committerBorislav Petkov <bp@suse.de>2021-10-23 14:50:19 +0200
commit69f6ed1d14c6bcf712f4bb22a231c15eeab401e7 (patch)
tree0433d82091543673e37daae13a80343add92727c /kernel/signal.c
parent75c52dad5e327605f1025f399dafdf4aaf5dae9c (diff)
downloadlinux-69f6ed1d14c6bcf712f4bb22a231c15eeab401e7.tar.gz
linux-69f6ed1d14c6bcf712f4bb22a231c15eeab401e7.tar.bz2
linux-69f6ed1d14c6bcf712f4bb22a231c15eeab401e7.zip
x86/fpu: Provide infrastructure for KVM FPU cleanup
For the upcoming AMX support it's necessary to do a proper integration with KVM. Currently KVM allocates two FPU structs which are used for saving the user state of the vCPU thread and restoring the guest state when entering vcpu_run() and doing the reverse operation before leaving vcpu_run(). With the new fpstate mechanism this can be reduced to one extra buffer by swapping the fpstate pointer in current::thread::fpu. This makes the upcoming support for AMX and XFD simpler because then fpstate information (features, sizes, xfd) are always consistent and it does not require any nasty workarounds. Provide: - An allocator which initializes the state properly - A replacement for the existing FPU swap mechanim Aside of the reduced memory footprint, this also makes state switching more efficient when TIF_FPU_NEED_LOAD is set. It does not require a memcpy as the state is already correct in the to be swapped out fpstate. The existing interfaces will be removed once KVM is converted over. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Borislav Petkov <bp@suse.de> Link: https://lkml.kernel.org/r/20211022185312.954684740@linutronix.de
Diffstat (limited to 'kernel/signal.c')
0 files changed, 0 insertions, 0 deletions