linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] x86/mm: Enable 5-level paging support by default
@ 2019-09-13  9:54 Kirill A. Shutemov
  2019-09-13 18:20 ` Dave Hansen
  2019-09-16 14:54 ` [tip: x86/mm] " tip-bot2 for Kirill A. Shutemov
  0 siblings, 2 replies; 4+ messages in thread
From: Kirill A. Shutemov @ 2019-09-13  9:54 UTC (permalink / raw)
  To: Linus Torvalds, Thomas Gleixner, Ingo Molnar, Borislav Petkov,
	H. Peter Anvin
  Cc: Dave Hansen, Andy Lutomirski, Peter Zijlstra, x86, linux-mm,
	linux-kernel, Kirill A. Shutemov

Support of boot-time switching between 4- and 5-level paging mode is
upstream since 4.17.

We run internal testing with 5-level paging support enabled for a while
and it doesn't not cause any functional or performance regression on
4-level paging hardware.

The only 5-level paging related regressions I saw were in early boot
code that runs independently from CONFIG_X86_5LEVEL.

The next major release of distributions expected to have
CONFIG_X86_5LEVEL=y.

Enable the option by default. It may help to catch obscure bugs early.

Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
---
 arch/x86/Kconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 222855cc0158..2f7cb91d850e 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -1483,6 +1483,7 @@ config X86_PAE
 
 config X86_5LEVEL
 	bool "Enable 5-level page tables support"
+	default y
 	select DYNAMIC_MEMORY_LAYOUT
 	select SPARSEMEM_VMEMMAP
 	depends on X86_64
-- 
2.21.0


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH] x86/mm: Enable 5-level paging support by default
  2019-09-13  9:54 [PATCH] x86/mm: Enable 5-level paging support by default Kirill A. Shutemov
@ 2019-09-13 18:20 ` Dave Hansen
  2019-09-16 14:53   ` Ingo Molnar
  2019-09-16 14:54 ` [tip: x86/mm] " tip-bot2 for Kirill A. Shutemov
  1 sibling, 1 reply; 4+ messages in thread
From: Dave Hansen @ 2019-09-13 18:20 UTC (permalink / raw)
  To: Kirill A. Shutemov, Linus Torvalds, Thomas Gleixner, Ingo Molnar,
	Borislav Petkov, H. Peter Anvin
  Cc: Dave Hansen, Andy Lutomirski, Peter Zijlstra, x86, linux-mm,
	linux-kernel

On 9/13/19 2:54 AM, Kirill A. Shutemov wrote:
> The next major release of distributions expected to have
> CONFIG_X86_5LEVEL=y.

It's probably worth noting that this exposes to two kinds of possible
performance issues:

First is the overhead of having the 5-level code on 4-level hardware.
We haven't seen any regressions there in quite a while.  Kirill talked
about this in the changelog.

Second is the overhead of having 5-level paging active on 5-level
hardware versus using 4-level paging on hardware *capable* of 5-level.
That is, of course, much harder to measure since 5-level hardware is not
publicly available.  But, we've tested this quite a bit and we're pretty
confident that it will not cause regressions, especially on systems
where apps don't opt in to the larger address space.

I do think endeavoring to have mainline's defaults match the most common
distro configs is a good idea, and now is as good of a time as any.

Acked-by: Dave Hansen <dave.hansen@linux.intel.com>

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] x86/mm: Enable 5-level paging support by default
  2019-09-13 18:20 ` Dave Hansen
@ 2019-09-16 14:53   ` Ingo Molnar
  0 siblings, 0 replies; 4+ messages in thread
From: Ingo Molnar @ 2019-09-16 14:53 UTC (permalink / raw)
  To: Dave Hansen
  Cc: Kirill A. Shutemov, Linus Torvalds, Thomas Gleixner, Ingo Molnar,
	Borislav Petkov, H. Peter Anvin, Dave Hansen, Andy Lutomirski,
	Peter Zijlstra, x86, linux-mm, linux-kernel


* Dave Hansen <dave.hansen@intel.com> wrote:

> On 9/13/19 2:54 AM, Kirill A. Shutemov wrote:
> > The next major release of distributions expected to have
> > CONFIG_X86_5LEVEL=y.
> 
> It's probably worth noting that this exposes to two kinds of possible
> performance issues:
> 
> First is the overhead of having the 5-level code on 4-level hardware.
> We haven't seen any regressions there in quite a while.  Kirill talked
> about this in the changelog.
> 
> Second is the overhead of having 5-level paging active on 5-level
> hardware versus using 4-level paging on hardware *capable* of 5-level.
> That is, of course, much harder to measure since 5-level hardware is not
> publicly available.  But, we've tested this quite a bit and we're pretty
> confident that it will not cause regressions, especially on systems
> where apps don't opt in to the larger address space.
> 
> I do think endeavoring to have mainline's defaults match the most common
> distro configs is a good idea, and now is as good of a time as any.
> 
> Acked-by: Dave Hansen <dave.hansen@linux.intel.com>

Ok - in terms of timing it's obviously *way* too late for v5.4, so I've 
queued it up for the v5.5 merge window in tip:x86/mm. This should give it 
2-3 months of additional testing to shake out any weird interactions and 
quirks.

Thanks,

	Ingo

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [tip: x86/mm] x86/mm: Enable 5-level paging support by default
  2019-09-13  9:54 [PATCH] x86/mm: Enable 5-level paging support by default Kirill A. Shutemov
  2019-09-13 18:20 ` Dave Hansen
@ 2019-09-16 14:54 ` tip-bot2 for Kirill A. Shutemov
  1 sibling, 0 replies; 4+ messages in thread
From: tip-bot2 for Kirill A. Shutemov @ 2019-09-16 14:54 UTC (permalink / raw)
  To: linux-tip-commits
  Cc: Kirill A. Shutemov, Dave Hansen, Andy Lutomirski,
	Borislav Petkov, H. Peter Anvin, Linus Torvalds, Peter Zijlstra,
	Rik van Riel, Thomas Gleixner, linux-mm, Ingo Molnar,
	linux-kernel

The following commit has been merged into the x86/mm branch of tip:

Commit-ID:     18ec1eaf58fbf2d9009a752a102a3d8e0d905a0f
Gitweb:        https://git.kernel.org/tip/18ec1eaf58fbf2d9009a752a102a3d8e0d905a0f
Author:        Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
AuthorDate:    Fri, 13 Sep 2019 12:54:52 +03:00
Committer:     Ingo Molnar <mingo@kernel.org>
CommitterDate: Mon, 16 Sep 2019 16:51:20 +02:00

x86/mm: Enable 5-level paging support by default

Support of boot-time switching between 4- and 5-level paging mode is
upstream since 4.17.

We run internal testing with 5-level paging support enabled for a while
and it doesn't not cause any functional or performance regression on
4-level paging hardware.

The only 5-level paging related regressions I saw were in early boot
code that runs independently from CONFIG_X86_5LEVEL.

The next major release of distributions expected to have
CONFIG_X86_5LEVEL=y.

Enable the option by default. It may help to catch obscure bugs early.

Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
Acked-by: Dave Hansen <dave.hansen@linux.intel.com>
Cc: Andy Lutomirski <luto@kernel.org>
Cc: Borislav Petkov <bp@alien8.de>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Rik van Riel <riel@surriel.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: linux-mm@kvack.org
Link: https://lkml.kernel.org/r/20190913095452.40592-1-kirill.shutemov@linux.intel.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
---
 arch/x86/Kconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 58eae28..d4bbebe 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -1483,6 +1483,7 @@ config X86_PAE
 
 config X86_5LEVEL
 	bool "Enable 5-level page tables support"
+	default y
 	select DYNAMIC_MEMORY_LAYOUT
 	select SPARSEMEM_VMEMMAP
 	depends on X86_64

^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2019-09-16 14:55 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-09-13  9:54 [PATCH] x86/mm: Enable 5-level paging support by default Kirill A. Shutemov
2019-09-13 18:20 ` Dave Hansen
2019-09-16 14:53   ` Ingo Molnar
2019-09-16 14:54 ` [tip: x86/mm] " tip-bot2 for Kirill A. Shutemov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).