From: "H. Peter Anvin" <hpa@zytor.com>
To: Peter Zijlstra <peterz@infradead.org>
Cc: tglx@kernel.org, mingo@redhat.com, bp@alien8.de,
Nathan Chancellor <nathan@kernel.org>,
Calvin Owens <calvin@wbinvd.org>,
Dave Hansen <dave.hansen@linux.intel.com>,
torvalds@linux-foundation.org, x86-ML <x86@kernel.org>,
LKML <linux-kernel@vger.kernel.org>
Subject: Re: 8aeb879baf12 - significant system call latency regression, bisected
Date: Sun, 14 Jun 2026 17:19:59 -0700 [thread overview]
Message-ID: <338ead9a-91f4-4579-9954-e18911fa3f68@zytor.com> (raw)
In-Reply-To: <f99e3ff3-e7b0-4aa4-9120-3c5f7151451d@zytor.com>
On 2026-06-13 18:50, H. Peter Anvin wrote:
> On 2026-06-13 16:52, H. Peter Anvin wrote:
>> On 2026-06-13 13:34, H. Peter Anvin wrote:
>>> On 2026-06-13 01:59, Peter Zijlstra wrote:
>>>> On Fri, Jun 12, 2026 at 06:45:06PM -0700, "H. Peter Anvin" (Intel)
>>>> wrote:
>>>>> So I was trying to figure out a significant -- about 13% -- increase
>>>>> in system call latency between v7.0 and the current master, and it
>>>>> bisects down to:
>>>>>
>>>>> 8aeb879baf12 x86/kvm/vmx: Fix x86_64 CFI build
>>>>>
>>>>> This is on Panther Lake (Core Ultra X7 358H) with FRED enabled. This
>>>>> is a bare metal boot, no KVM.
>>>>>
>>>>> I'm personally extremely puzzled how this could possibly be related,
>>>>> and I will be investigating the possibility that this is a false
>>>>> bisect, but it is not a Heisenbug in any way; it has been extremely
>>>>> reproducible, and the difference is statistically valid by close to 10
>>>>> sigma. Futhermore, the bisection at least gave the appearance of
>>>>> stability.
>>>>>
>>>>> Given how late in the cycle this is I wanted to send an alert sooner
>>>>> rather than later; I will update as I get more data.
>>>>
>>>> Uhm, massive WTF indeed. I don't immediately see how this could
>>>> possibly
>>>> affect a FRED host either, except perhaps in code layout.
>>>>
>>>> I don't actually have a FRED capable machine, but have you tried
>>>> running
>>>> one of those top-down perf things on it, to see where its hurting?
>>>
>>> Not yet, but I'm investigating right now (I have some family
>>> obligations this weekend, so my duty cycle is somewhat limited.)
>>>
>>> I reverted the patch on top of rc7, and it did, in fact, fix the
>>> regression,
>> > but I'm doing a clean from-scratch rebuild of both trees to make sure
>> > there isn't anything in my test setup that could introduce any kind of
>> > "memory" between builds...>
>> Nope, even with the clean rebuild it is 100% reproducible. It is in
>> fact worse than I originally stated: the average with 7.1rc7 is 478±6
>> cycles (with the top and bottom octiles removed as outlier
>> protection); with 7.1rc7 with the above patch reverted it is
>> 397.5±0.4. - this is in fact a 20% increase in latency, not 13%...
>>
>
> OK, I have, I believe root-caused this.
>
> It is a padding issue; removing the code changes __pfx_x64_sys_call to
> be 32-byte aligned, with the result that x64_sys_call gets *mis*aligned.
>
> Reverting the patch but adding an alignment statement to x64_sys_call
> re-introduces the performance regression.
>
> I am concerned because this could mean that the __pfx stubs add
> substantial overhead elsewhere, unless this just happens to be a
> particularly sensitive case...
>
OK, so v7.1 was released with this sizable performance regression. That
begs the question how to deal with it.
One option that might be reasonable for -stable is to simply add back 16
bytes of NOPs into the assembly file. However, that is obviously not a
long term fix.
Any thoughts?
-hpa
next prev parent reply other threads:[~2026-06-15 0:36 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-06-13 1:45 "H. Peter Anvin" (Intel)
2026-06-13 8:59 ` Peter Zijlstra
2026-06-13 20:34 ` H. Peter Anvin
2026-06-13 23:52 ` H. Peter Anvin
2026-06-14 1:50 ` H. Peter Anvin
2026-06-14 18:08 ` Xin Li
2026-06-14 18:31 ` H. Peter Anvin
2026-06-15 0:19 ` H. Peter Anvin [this message]
2026-06-15 2:07 ` H. Peter Anvin
2026-06-15 3:41 ` Linus Torvalds
2026-06-15 18:30 ` H. Peter Anvin
2026-06-16 7:12 ` Peter Zijlstra
2026-06-16 7:38 ` Peter Zijlstra
2026-06-16 7:53 ` Peter Zijlstra
2026-06-18 23:05 ` H. Peter Anvin
2026-06-19 7:50 ` Peter Zijlstra
2026-06-19 10:22 ` H. Peter Anvin
2026-06-16 8:28 ` Peter Zijlstra
2026-06-16 8:46 ` Linus Torvalds
2026-06-16 9:51 ` Ingo Molnar
2026-06-16 17:44 ` H. Peter Anvin
2026-06-17 9:54 ` Ingo Molnar
2026-06-17 10:05 ` Ingo Molnar
2026-06-17 12:37 ` Peter Zijlstra
2026-06-18 22:40 ` H. Peter Anvin
2026-06-19 1:11 ` H. Peter Anvin
2026-06-19 2:08 ` Linus Torvalds
2026-06-19 2:11 ` Linus Torvalds
2026-06-19 4:32 ` H. Peter Anvin
2026-06-19 7:35 ` Peter Zijlstra
2026-06-19 2:11 ` H. Peter Anvin
2026-06-19 7:31 ` Peter Zijlstra
2026-06-19 8:14 ` Peter Zijlstra
2026-06-19 10:23 ` H. Peter Anvin
2026-06-19 11:18 ` Peter Zijlstra
2026-06-19 21:53 ` syscall path improvements (was: syscall performance regression, debunked) H. Peter Anvin
2026-06-16 13:53 ` 8aeb879baf12 - significant system call latency regression, bisected David Laight
2026-06-18 23:03 ` H. Peter Anvin
2026-06-14 2:11 ` Calvin Owens
2026-06-14 2:14 ` Calvin Owens
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=338ead9a-91f4-4579-9954-e18911fa3f68@zytor.com \
--to=hpa@zytor.com \
--cc=bp@alien8.de \
--cc=calvin@wbinvd.org \
--cc=dave.hansen@linux.intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=nathan@kernel.org \
--cc=peterz@infradead.org \
--cc=tglx@kernel.org \
--cc=torvalds@linux-foundation.org \
--cc=x86@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome