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

From: Dave Hansen
Date: Wed Jul 10 2024 - 19:06:00 EST


On 7/10/24 15:33, 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.

Yeah, I'm also wondering how much this would matter for performance.

But, I'm 100% sure that we want to distinguish a LASS-necessitated
stac()/clac() from a SMAP-necessitated one somehow.