[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <ABAE7E79-8198-4D2E-A6BF-EF530914D05E@zytor.com>
Date: Sun, 27 Apr 2025 14:19:35 -0700
From: "H. Peter Anvin" <hpa@...or.com>
To: Linus Torvalds <torvalds@...ux-foundation.org>,
Oliver Sang <oliver.sang@...el.com>
CC: Arnd Bergmann <arnd@...db.de>, oe-lkp@...ts.linux.dev,
kernel test robot <lkp@...el.com>, linux-kernel@...r.kernel.org,
Ingo Molnar <mingo@...nel.org>, John Stultz <jstultz@...gle.com>,
Thomas Gleixner <tglx@...utronix.de>, Stephen Boyd <sboyd@...nel.org>,
Borislav Petkov <bp@...en8.de>,
Dave Hansen <dave.hansen@...ux.intel.com>, x86@...nel.org
Subject: Re: [linus:master] [x86/cpu] f388f60ca9: BUG:soft_lockup-CPU##stuck_for#s![swapper:#]
On April 27, 2025 9:39:55 AM PDT, Linus Torvalds <torvalds@...ux-foundation.org> wrote:
>On Sat, 26 Apr 2025 at 22:49, Oliver Sang <oliver.sang@...el.com> wrote:
>>
>> We reran the tests. if only enable X86_TSC, the various issues still
>> exists. if only enable X86_CMPXCHG64, various issues gone.
>
>Well, that's unexpected. I really didn't expect X86_CMPXCHG64 to make
>any difference, since we should still use the cmpxchg64 instruction,
>just with the alternative re-writing instead of directly.
>
>Thanks for re-running the tests.
>
>All the non-cmpxchg64 code sequences get replaced by the cmpxchg64
>ones dynamically, so it all shouldn't matter one whit.
>
>Except for during early boot. Because we do default to the old i386
>sequences all the way *until* we do the alternatives replacement with
>the good cmpxchg64 ones.
>
>It does change code generation, in that we have to have that
>alternative which now can be a call, so it's not a complete no-op, but
>I'm still surprised.
>
>And except for not using CMPXCHG_LOCKREF at all, but that should be
>just a performance thing, and not noticeable during boot.
>
>Hmm...
>
>I'd love to understand why X86_CMPXCHG64 apparently matters, but I
>can't convince myself that it's worth really pursuing.
>
> Linus
Sounds like the fallback stubs are subtly broken.
Personally I would have thought cmpxchg64 to be the biggest win in raising the baseline to the i586 ISA.
Powered by blists - more mailing lists