Re: [PATCH] arm64/sve: Don't zero the SVE state buffer when the SVE state is live
From: Breno Leitao
Date: Tue Sep 15 2026 - 06:44:56 EST
On Tue, Sep 15, 2026 at 11:15:01AM +0100, Mark Rutland wrote:
> On Tue, Sep 15, 2026 at 02:50:27AM -0700, Breno Leitao wrote:
> > On Tue, Sep 15, 2026 at 09:39:24AM +0100, Mark Rutland wrote:
> >
> > I've also dropped few other lines, but kept the benchmark values I've
> > collected. Does this look better now?
>
> Yep, that looks good to me, with one minor nit below.
>
> With that fixed up, this all looks good. I assume you'll send a v2.
>
> > Author: Breno Leitao <leitao@xxxxxxxxxx>
> > Date: Fri Sep 11 02:57:34 2026 -0700
> >
> > arm64/sve: Don't zero the SVE state buffer when the SVE state is live
> >
> > Currently do_sve_acc() always zeroes current->thread.sve_state. This is
> > not necessary in the common case, and avoiding the zeroing has a
> > measurable impact on some benchmarks.
> >
> > In the common case where the task is not preempted and its state is not
> > altered by a tracer, do_sve_acc() will observe that TIF_FOREIGN_FPSTATE
> > is clear. In such cases, only the live register values matter, and the
> > in-memory copy is stale regardless of whether it is saved in
> > FP_STATE_FPSIMD format or FP_STATE_SVE format.
> >
> > This is worth doing because the SVE state is discarded on syscall entry,
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^
>
> That should say something like "It is worth skipping the zeroing
> because". We deleted the line saying that skipping the zeroing was safe,
> and so it's not clear what "this" is referring to.
Ack, thanks for the feedback. I will send a v2 shortly.
--breno