From: Ingo Molnar <mingo@kernel.org>
To: Dave Hansen <dave.hansen@intel.com>
Cc: Javier Pello <devel@otheo.eu>,
linux-kernel@vger.kernel.org, x86@kernel.org,
Thomas Gleixner <tglx@linutronix.de>,
Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
Dave Hansen <dave.hansen@linux.intel.com>,
"H. Peter Anvin" <hpa@zytor.com>
Subject: Re: [PATCH 1/1] x86/mm/pae: Align up pteval_t, pmdval_t and pudval_t to avoid split locks
Date: Wed, 3 Apr 2024 09:57:48 +0200 [thread overview]
Message-ID: <Zg0L/OfuQtVgFSsG@gmail.com> (raw)
In-Reply-To: <d7e89d23-b692-4e70-baae-5df5b3984620@intel.com>
* Dave Hansen <dave.hansen@intel.com> wrote:
> On 4/2/24 10:23, Javier Pello wrote:
> > On Mon, 1 Apr 2024 10:56:14 -0700 Dave Hansen wrote:
> >> First of all, how is it that you're running a PAE kernel on new,
> >> 64-bit hardware? That's rather odd.
> >
> > I got this motherboard and cpu fairly recently to replace old
> > hardware, and I just plugged my old hard disk and went along with
> > it, because I did not feel like bootstrapping a 64-bit system.
>
> Fair enough. I can totally understand wanting the convenience. But
> you're leaving _so_ much performance on the floor that split locks are
> the least of your problems.
>
> >> The case that you're hitting is actually an on-stack pmd_t. The
> >> fun part is that it's not shared and doesn't even _need_ atomics.
> >> I think it's just using pmd_populate() because it's convenient.
> >
> > I see. So just annotating the variable on the stack with
> > __aligned(8) should do it? But the code is under mm/, so it should
> > be arch-agnostic, right? What would the correct fix be, then? I take
> > from your message that using atomics through pmd_populate() here is
> > not needed, but what accessors should be used instead? I am not
> > familiar at all with this part of the kernel.
>
> I don't think there's a better accessor.
>
> >> I'd honestly much rather just disable split lock support in 32-bit
> >> builds than mess with this stuff. You really shouldn't be running
> >> 32-but kernels on this hardware.
> >
> > Why? Is it unsupported?
>
> Yes, it's effectively unsupported. We're not adding new hardware
> features to 32-bit. The fact that split lock detection got enabled
> was an accident.
We do accept well-tested fixes and minor enablement patches though,
within reason - but indeed this page table entry alignment quirk added
for the sake of a split-lock debugging false positive doesn't seem to
be worth it.
> It's not a technical reason. It's a practical one: I don't want to
> spend time reviewing the fixes and dealing with the fallout and
> regressions that the fixes might cause.
Yeah, so it's an indirect technical argument: fixes *with tradeoffs*
like this one have a future maintenance & robustness cost. Fixes
without tradeoffs are fine of course.
Thanks,
Ingo
next prev parent reply other threads:[~2024-04-03 7:57 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-04-01 16:54 [PATCH 0/1] Split lock detected in kernel mode on x86-32 with PAE Javier Pello
2024-04-01 16:57 ` [PATCH 1/1] x86/mm/pae: Align up pteval_t, pmdval_t and pudval_t to avoid split locks Javier Pello
2024-04-01 17:56 ` Dave Hansen
2024-04-02 17:23 ` Javier Pello
2024-04-02 17:43 ` Dave Hansen
2024-04-03 7:57 ` Ingo Molnar [this message]
2024-04-03 11:08 ` Brian Gerst
2024-04-04 7:56 ` Ingo Molnar
2024-04-04 15:36 ` Brian Gerst
2024-04-04 16:29 ` Dave Hansen
2024-04-03 15:54 ` Javier Pello
2024-04-03 15:58 ` Dave Hansen
2024-04-04 15:26 ` Sean Christopherson
2024-04-04 18:31 ` Dave Hansen
2024-04-04 21:55 ` Sean Christopherson
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=Zg0L/OfuQtVgFSsG@gmail.com \
--to=mingo@kernel.org \
--cc=bp@alien8.de \
--cc=dave.hansen@intel.com \
--cc=dave.hansen@linux.intel.com \
--cc=devel@otheo.eu \
--cc=hpa@zytor.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=tglx@linutronix.de \
--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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.