[PATCH v4 0/3] arm64/fpsimd: Don't disable softirq when touching FPSIMD/SVE state

From: Julien Grall
Date: Fri Apr 26 2019 - 10:37:53 EST


Hi all,

This patch series keeps softirqs enabled while touching FPSIMD/SVE state.
For more details on the impact see patch #3.

This patch series has been benchmarked on Linux 5.1-rc4 with defconfig.

On Juno2:
* hackbench 100 process 1000 (10 times)
* .7% quicker

On ThunderX 2:
* hackbench 1000 process 1000 (20 times)
* 3.4% quicker

Note that while the benchmark has been done on 5.1-rc4, the patch series is
based on kvm-arm/next as it has few conflicts with the SVE KVM series.

Cheers,

Julien Grall (3):
arm64/fpsimd: Remove the prototype for sve_flush_cpu_state()
arch/arm64: fpsimd: Introduce fpsimd_save_and_flush_cpu_state() and
use it
arm64/fpsimd: Don't disable softirq when touching FPSIMD/SVE state

arch/arm64/include/asm/fpsimd.h | 5 +-
arch/arm64/include/asm/simd.h | 10 +--
arch/arm64/kernel/fpsimd.c | 139 +++++++++++++++++++++++++++-------------
arch/arm64/kvm/fpsimd.c | 4 +-
4 files changed, 103 insertions(+), 55 deletions(-)

--
2.11.0