On Mon, 19 Mar 2018, David Laight wrote: > From: Rahul Lakkireddy > In principle it ought to be possible to get access to one or two > (eg) AVX registers by saving them to stack and telling the fpu > save code where you've put them.
No. We have functions for this and we are not adding new ad hoc magic. > OTOH, for x86, if the code always runs in process context (eg from a > system call) then, since the ABI defines them all as caller-saved > the AVX(2) registers, it is only necessary to ensure that the current > FPU registers belong to the current process once. > The registers can be set to zero by an 'invalidate' instruction on > system call entry (hope this is done) and after use. Why would a system call touch the FPU registers? The kernel normally does not use FPU instructions and the code which explicitely does has to take care of save/restore. It would be performance madness to fiddle with the FPU stuff unconditionally if nothing uses it. Thanks, tglx