[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20251205151051.GB2528459@noisy.programming.kicks-ass.net>
Date: Fri, 5 Dec 2025 16:10:51 +0100
From: Peter Zijlstra <peterz@...radead.org>
To: Eric Dumazet <edumazet@...gle.com>
Cc: Thomas Gleixner <tglx@...utronix.de>, Andy Lutomirski <luto@...nel.org>,
linux-kernel <linux-kernel@...r.kernel.org>,
Eric Dumazet <eric.dumazet@...il.com>
Subject: Re: [PATCH] entry: always inline
local_irq_{enable,disable}_exit_to_user()
On Fri, Dec 05, 2025 at 05:03:33AM -0800, Eric Dumazet wrote:
> > Earlier Zen with RET mitigation? ;-)
>
> This was AMD Rome "AMD EPYC 7B12 64-Core Processor",
> bu also AMDTurin "AMD EPYC 9B45 128-Core Processor" to a certain extent.
>
> When you say RET mitigation, this is the five int3 after retq, right ?
Nope, that one is SLS, AMD has BTB type confusion on return prediction
(the AMD RetBleed) and patches all the RET sites with jumps to
retbleed_return_thunk(), or one of the srso*return_thunk() thingies. All
are somewhat expensive.
So while normally CALL+RET is well optimized and hardly noticeable, the
moment your uarch needs one of these return thunks, you're going to
notice them.
Powered by blists - more mailing lists