Subject: Re: powerpc/kernel: improve FP and vector registers restoration

From: Michael Ellerman <[email-masked]>
Date: Thu, 8 Jun 2017 14:05:17 +1000 (AEST)

On Fri, 2017-06-02 at 21:43:30 UTC, Breno Leitao wrote:
> Currently tsk->thread->load_vec and load_fp are not initialized during a
> task creation, which set garbage to these variables (non-zero value).
> 
> These variables will be checked later at restore_math() to validate if the
> FP and vectors are being utilized. Since these values might be non-zero,
> the restore_math() will continue to save the FP and vectors even if they
> were never utilized before the userspace application. load_fp and load_vec
> counters will then overflow and the FP and Altivec will be finally
> disabled, but before that condition is reached (counter overflow) several
> context switches restored FP and vector registers without need, causing a
> performance degradation.
> 
> Signed-off-by: Breno Leitao <[email-masked]>
> Signed-off-by: Gustavo Romero <[email-masked]>
> Acked-by: Anton Blanchard <[email-masked]>

Applied to powerpc fixes, thanks.

https://git.kernel.org/powerpc/c/1195892c091a15cc862f4e202482a3

cheers