[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20230322192610.sad42xau33ye5ayn@orel>
Date: Wed, 22 Mar 2023 20:26:10 +0100
From: Andrew Jones <ajones@...tanamicro.com>
To: Conor Dooley <conor@...nel.org>
Cc: "Jason A. Donenfeld" <Jason@...c4.com>,
Jisheng Zhang <jszhang@...nel.org>,
Palmer Dabbelt <palmer@...belt.com>,
Paul Walmsley <paul.walmsley@...ive.com>,
Albert Ou <aou@...s.berkeley.edu>,
Anup Patel <anup@...infault.org>,
Atish Patra <atishp@...shpatra.org>,
Heiko Stuebner <heiko@...ech.de>,
Conor Dooley <conor.dooley@...rochip.com>,
linux-riscv@...ts.infradead.org, linux-kernel@...r.kernel.org,
kvm@...r.kernel.org, kvm-riscv@...ts.infradead.org,
regressions@...mhuis.info, regressions@...ts.linux.dev
Subject: Re: [PATCH] riscv: require alternatives framework when selecting FPU
support
On Wed, Mar 22, 2023 at 03:17:13PM +0000, Conor Dooley wrote:
> On Wed, Mar 22, 2023 at 01:46:31PM +0100, Andrew Jones wrote:
> > On Wed, Mar 22, 2023 at 01:09:07PM +0100, Jason A. Donenfeld wrote:
> > > When moving switch_to's has_fpu() over to using riscv_has_extension_
> > > likely() rather than static branchs, the FPU code gained a dependency on
> > > the alternatives framework. If CONFIG_RISCV_ALTERNATIVE isn't selected
> > > when CONFIG_FPU is, then has_fpu() returns false, and switch_to does not
> > > work as intended. So select CONFIG_RISCV_ALTERNATIVE when CONFIG_FPU is
> > > selected.
> > >
> > > Fixes: 702e64550b12 ("riscv: fpu: switch has_fpu() to riscv_has_extension_likely()")
> > > Link: https://lore.kernel.org/all/ZBruFRwt3rUVngPu@zx2c4.com/
> > > Cc: Jisheng Zhang <jszhang@...nel.org>
> > > Cc: Andrew Jones <ajones@...tanamicro.com>
> > > Cc: Heiko Stuebner <heiko@...ech.de>
> > > Cc: Conor Dooley <conor.dooley@...rochip.com>
>
> Thanks for fixing it!
> Reviewed-by: Conor Dooley <conor.dooley@...rochip.com>
>
> > > Signed-off-by: Jason A. Donenfeld <Jason@...c4.com>
> > > ---
> > > arch/riscv/Kconfig | 1 +
> > > 1 file changed, 1 insertion(+)
> > >
> > > diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig
> > > index c5e42cc37604..0f59350c699d 100644
> > > --- a/arch/riscv/Kconfig
> > > +++ b/arch/riscv/Kconfig
> > > @@ -467,6 +467,7 @@ config TOOLCHAIN_HAS_ZIHINTPAUSE
> > > config FPU
> > > bool "FPU support"
> > > default y
> > > + select RISCV_ALTERNATIVE
> > > help
> > > Say N here if you want to disable all floating-point related procedure
> > > in the kernel.
> > > --
> > > 2.40.0
> > >
> >
> > Reviewed-by: Andrew Jones <ajones@...tanamicro.com>
> >
> > I took a look to see if we missed anything else and see that we should
> > do the same patch for KVM. I'll send one.
> >
> > (It's tempting to just select RISCV_ALTERNATIVE from RISCV, but maybe we
> > can defer that wedding a bit longer.)
>
> At that point, the config option should just go away entirely, no?
Ah, yes, and that makes the idea even more attractive, as we could remove
several ifdefs.
Thanks,
drew
Powered by blists - more mailing lists