[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ZgZqhWoRZoq5tJoU@gmail.com>
Date: Fri, 29 Mar 2024 08:15:17 +0100
From: Ingo Molnar <mingo@...nel.org>
To: Steve Wahl <steve.wahl@....com>
Cc: Dave Hansen <dave.hansen@...ux.intel.com>,
Andy Lutomirski <luto@...nel.org>,
Peter Zijlstra <peterz@...radead.org>,
Thomas Gleixner <tglx@...utronix.de>,
Ingo Molnar <mingo@...hat.com>, Borislav Petkov <bp@...en8.de>,
x86@...nel.org, "H. Peter Anvin" <hpa@...or.com>,
linux-kernel@...r.kernel.org,
Linux regressions mailing list <regressions@...ts.linux.dev>,
Pavin Joseph <me@...injoseph.com>, stable@...r.kernel.org,
Eric Hagberg <ehagberg@...il.com>,
Simon Horman <horms@...ge.net.au>,
Eric Biederman <ebiederm@...ssion.com>,
Dave Young <dyoung@...hat.com>, Sarah Brofeldt <srhb@....dk>,
Russ Anderson <rja@....com>, Dimitri Sivanich <sivanich@....com>,
Hou Wenlong <houwenlong.hwl@...group.com>,
Andrew Morton <akpm@...ux-foundation.org>,
Baoquan He <bhe@...hat.com>, Yuntao Wang <ytcoode@...il.com>,
Bjorn Helgaas <bhelgaas@...gle.com>
Subject: Re: [PATCH v4] x86/mm/ident_map: On UV systems, use gbpages only
where full GB page should be mapped.
* Steve Wahl <steve.wahl@....com> wrote:
> When ident_pud_init() uses only gbpages to create identity maps, large
> ranges of addresses not actually requested can be included in the
> resulting table; a 4K request will map a full GB. On UV systems, this
> ends up including regions that will cause hardware to halt the system
> if accessed (these are marked "reserved" by BIOS). Even processor
> speculation into these regions is enough to trigger the system halt.
> And MTRRs cannot be used to restrict this speculation, there are not
> enough MTRRs to cover all the reserved regions.
Nor should MTRRs be (ab-)used for this really.
> The fix for that would be to only use gbpages when map creation
> requests include the full GB page of space, and falling back to using
> smaller 2M pages when only portions of a GB page are included in the
> request.
>
> But on some other systems, possibly due to buggy bios, that solution
> leaves some areas out of the identity map that are needed for kexec
> to succeed. It is believed that these areas are not marked properly
> for map_acpi_tables() in arch/x86/kernel/machine_kexec_64.c to catch
> and map them. The nogbpages kernel command line option also causes
> these systems to fail even without these changes.
Does the 'nogbpages' kernel command line option fail on these systems
even outside of kexec (ie. regular boot), or only in combination with
kexec?
Thanks,
Ingo
Powered by blists - more mailing lists