Re: [PATCH v2 2/7] arm64: fpsimd: Make sure SVE setup is complete before SIMD is used

From: Suzuki Kuruppassery Poulose
Date: Fri Jan 10 2020 - 13:41:54 EST


On 10/01/2020 11:51, Catalin Marinas wrote:
On Tue, Dec 17, 2019 at 06:33:57PM +0000, Suzuki K Poulose wrote:
In-kernel users of NEON rely on may_use_simd() to check if the SIMD
can be used. However, we must initialize the SVE before SIMD can
be used. Add a sanity check to make sure that we have completed the
SVE setup before anyone uses the SIMD.

Cc: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
Cc: Mark Rutland <mark.rutland@xxxxxxx>
Cc: Will Deacon <will.deacon@xxxxxxx>
Cc: Catalin Marinas <catalin.marinas@xxxxxxx>
Signed-off-by: Suzuki K Poulose <suzuki.poulose@xxxxxxx>
---
Discussion here : https://lkml.kernel.org/r/20191014145204.GS27757@xxxxxxx

Re-reading this thread, I think the conclusion was more towards having a
WARN_ON in system_supports_fpsimd() (or may_use_simd()). We don't expect
code to start using neon before the SMP is initialised (other than
early_initcall(), the rest run after the secondary CPUs are brought up).

Thanks for pointing out. I missed this from the Dave's last email.
I have added a WARN_ON(!system_capabilities_finalized()) to
may_use_simd() for the next version.

Thanks for the review !

Suzuki