On Tue, 2 Mar 2021 10:01:09 +0100, Ard Biesheuvel wrote: > [ TL;DR for the non-ARM folks on CC: disabling softirq processing when using > SIMD in kernel mode could reduce complexity and improve performance, but we > need to decide whether we can do this, and how much softirq processing > latency we can tolerate. If we can find a satisfactory solution for this, > we might do the same for x86 and 32-bit ARM as well. > > However, based on preliminary off-list discussions with peterz and luto, it > seems that for x86, there is a preference for using per-CPU buffers to > preserve/restore the task context's kernel mode SIMD state when the task is > interrupted to perform kernel mode SIMD in softirq context. On arm64, we > actually had this arrangement before, and removed it because it made > reasoning about preserving/restoring userland SVE state (32 SIMD registers > of up to 2 kbit in size) rather complex. ] > > [...] Applied to arm64 (for-next/neon-softirqs-disabled), thanks! [1/9] arm64: assembler: remove conditional NEON yield macros https://git.kernel.org/arm64/c/27248fe1abb2 [2/9] arm64: assembler: introduce wxN aliases for wN registers https://git.kernel.org/arm64/c/4c4dcd3541f8 [3/9] arm64: fpsimd: run kernel mode NEON with softirqs disabled https://git.kernel.org/arm64/c/13150149aa6d -- Catalin