powerpc/kernel: improve FP and vector registers restoration

Michael Ellerman patch-notifications at ellerman.id.au
Thu Jun 8 14:05:17 AEST 2017


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 <leitao at debian.org>
> Signed-off-by: Gustavo Romero <gusbromero at gmail.com>
> Acked-by: Anton Blanchard <anton at samba.org>

Applied to powerpc fixes, thanks.

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

cheers


More information about the Linuxppc-dev mailing list