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

From: Julien Grall
Date: Fri Apr 12 2019 - 13:14:33 EST


Hi all,

This patch series keep 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 | 6 +-
arch/arm64/include/asm/simd.h | 4 +-
arch/arm64/kernel/fpsimd.c | 148 +++++++++++++++++++++++++++++-----------
arch/arm64/kvm/fpsimd.c | 3 +-
4 files changed, 112 insertions(+), 49 deletions(-)

--
2.11.0