[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <ZbkRZNNS5WrfRpjU@e133380.arm.com>
Date: Tue, 30 Jan 2024 15:10:28 +0000
From: Dave Martin <Dave.Martin@....com>
To: Mark Brown <broonie@...nel.org>
Cc: Catalin Marinas <catalin.marinas@....com>,
Will Deacon <will@...nel.org>,
Jackson Cooper-Driver <Jackson.Cooper-Driver@....com>,
linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH 2/2] arm64/sme: Restore SMCR_EL1.EZT0 on exit from suspend
On Tue, Jan 30, 2024 at 02:34:23PM +0000, Mark Brown wrote:
> On Tue, Jan 30, 2024 at 10:54:06AM +0000, Dave Martin wrote:
> > On Tue, Jan 30, 2024 at 12:02:49AM +0000, Mark Brown wrote:
>
> > > + if (system_supports_sme2())
> > > + smcr |= SMCR_ELx_EZT0;
>
> > Side question: since ZT0 is likely to be sporadically used, maybe it
> > is worth having separate lazy restore for it versus the main SME state?
> > (Not relevant for this series though, and probably best deferred until
> > there is hardware to benchmark on. Also, ZT0 is small compared with
> > the SME state proper...)
>
> One of the advantages SME has here is that we've got a clear indication
> if userspace is actively using the registers through SMSTART and SMSTOP.
> We only restore ZT0 at all whenever PSTATE.ZA is set and the strong
Good point. I was still thinking in SVE mode there.
> recommendation is that should only be set when either ZA or ZT0 are in
> active use for power and performance reasons. While it is likely that
> there will be code that uses ZA but doesn't touch ZT0 I would expect
> that the overhead of entering the kernel to do a lazy restore will be
> sufficiently high for it to be an unreasonable penalty on code that does
> touch it, as you say it's not *that* big compared to likely ZA sizes.
Agreed.
Cheers
---Dave
Powered by blists - more mailing lists