diff mbox series

arm64: Kconfig: Make SME depend on BROKEN for now

Message ID 20241106164220.2789279-1-mark.rutland@arm.com (mailing list archive)
State New
Headers show
Series arm64: Kconfig: Make SME depend on BROKEN for now | expand

Commit Message

Mark Rutland Nov. 6, 2024, 4:42 p.m. UTC
Although support for SME was merged in v5.19, we've since uncovered a
number of issues with the implementation, including issues which might
corrupt the FPSIMD/SVE/SME state of arbitrary tasks. While there are
patches to address some of these issues, ongoing review has highlighted
additional functional problems, and more time is necessary to analyse
and fix these.

For now, mark SME as BROKEN in the hope that we can fix things properly
in the near future. As SME is an OPTIONAL part of ARMv9.2+, and there is
very little extant hardware, this should not adversely affect the vast
majority of users.

Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Cc: Ard Biesheuvel <ardb@kernel.org>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Marc Zyngier <maz@kernel.org>
Cc: Mark Brown <broonie@kernel.org>
Cc: Will Deacon <will@kernel.org>
Cc: <stable@vger.kernel.org> # 5.19
---
 arch/arm64/Kconfig | 1 +
 1 file changed, 1 insertion(+)

Catalin, Will, if we take this, the minimal set of other fixes necessary
for now is:

* "arm64/sve: Discard stale CPU state when handling SVE traps"
  https://lore.kernel.org/linux-arm-kernel/20241030-arm64-fpsimd-foreign-flush-v1-1-bd7bd66905a2@kernel.org/
  https://lore.kernel.org/linux-arm-kernel/ZypuQNhWHKut8mLl@J2N7QTR9R3.cambridge.arm.com/
  (already queued by Will in for-next/fixes)

* "arm64: smccc: Remove broken support for SMCCCv1.3 SVE discard hint"
  https://lore.kernel.org/linux-arm-kernel/20241106160448.2712997-1-mark.rutland@arm.com/

Mark.

Comments

Mark Brown Nov. 6, 2024, 4:59 p.m. UTC | #1
On Wed, Nov 06, 2024 at 04:42:20PM +0000, Mark Rutland wrote:

> Although support for SME was merged in v5.19, we've since uncovered a
> number of issues with the implementation, including issues which might
> corrupt the FPSIMD/SVE/SME state of arbitrary tasks. While there are
> patches to address some of these issues, ongoing review has highlighted
> additional functional problems, and more time is necessary to analyse
> and fix these.

It would be good to start landing some of those as well (and more of the
test improvements that are pending as well).

> For now, mark SME as BROKEN in the hope that we can fix things properly
> in the near future. As SME is an OPTIONAL part of ARMv9.2+, and there is
> very little extant hardware, this should not adversely affect the vast
> majority of users.

It doesn't seem ideal to bounce on and off in stable, though as you say
there aren't really any practical systems at the minute and hopefully we
can revert this fairly soon.
Catalin Marinas Nov. 6, 2024, 4:59 p.m. UTC | #2
On Wed, Nov 06, 2024 at 04:42:20PM +0000, Mark Rutland wrote:
> Although support for SME was merged in v5.19, we've since uncovered a
> number of issues with the implementation, including issues which might
> corrupt the FPSIMD/SVE/SME state of arbitrary tasks. While there are
> patches to address some of these issues, ongoing review has highlighted
> additional functional problems, and more time is necessary to analyse
> and fix these.
> 
> For now, mark SME as BROKEN in the hope that we can fix things properly
> in the near future. As SME is an OPTIONAL part of ARMv9.2+, and there is
> very little extant hardware, this should not adversely affect the vast
> majority of users.
> 
> Signed-off-by: Mark Rutland <mark.rutland@arm.com>
> Cc: Ard Biesheuvel <ardb@kernel.org>
> Cc: Catalin Marinas <catalin.marinas@arm.com>
> Cc: Marc Zyngier <maz@kernel.org>
> Cc: Mark Brown <broonie@kernel.org>
> Cc: Will Deacon <will@kernel.org>
> Cc: <stable@vger.kernel.org> # 5.19

I agree that's the best way forward given the proximity to final 6.12.
Let's hope we'll revert it shortly after. Thanks to both you and broonie
for continuing to dig into this.

Acked-by: Catalin Marinas <catalin.marinas@arm.com>
diff mbox series

Patch

diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
index 3e29b44d2d7bd..14cc81e154ee2 100644
--- a/arch/arm64/Kconfig
+++ b/arch/arm64/Kconfig
@@ -2213,6 +2213,7 @@  config ARM64_SME
 	bool "ARM Scalable Matrix Extension support"
 	default y
 	depends on ARM64_SVE
+	depends on BROKEN
 	help
 	  The Scalable Matrix Extension (SME) is an extension to the AArch64
 	  execution state which utilises a substantial subset of the SVE