Re: [PATCH v4 03/16] x86/alternatives: Disable LASS when patching kernel alternatives

From: Peter Zijlstra
Date: Thu Jul 11 2024 - 04:16:06 EST


On Thu, Jul 11, 2024 at 01:33:23AM +0300, Kirill A. Shutemov wrote:
> On Wed, Jul 10, 2024 at 07:18:36PM +0200, Borislav Petkov wrote:
> > On Wed, Jul 10, 2024 at 07:06:39PM +0300, Alexander Shishkin wrote:
> > > static void text_poke_memcpy(void *dst, const void *src, size_t len)
> > > {
> > > - memcpy(dst, src, len);
> > > + stac();
> > > + __inline_memcpy(dst, src, len);
> > > + clac();
> >
> > I think you need LASS-specific stac()/clac() or an alternative_2 or so. You
> > can't cause that perf penalty on !LASS machines.
>
> Hm. Do we have text_poke() in hot path?
>
> Even if we do, I doubt flipping AC flag would make any performance
> difference in context of all locking and TLB flushing we do in this
> codepath.

The one where performance might matter is text_poke_early(), the full
fat one is comically slow as you point out.