Re: [PATCH 5/4] x86/mm: Further simplify 1 GB kernel linear mappings handling
* Jan Beulich wrote: > > +config X86_DIRECT_GBPAGES > > + def_bool (X86_64 && !DEBUG_PAGEALLOC && !KMEMCHECK) > > config X86_DIRECT_GBPAGES > def_bool y > depends on X86_64 && !DEBUG_PAGEALLOC && !KMEMCHECK > > or else it'll leave a pointless > > # CONFIG_X86_DIRECT_GBPAGES is not set > > in .config-s where the dependencies are not met. Ok, fixed - thanks! Ingo -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 5/4] x86/mm: Further simplify 1 GB kernel linear mappings handling
>>> On 05.03.15 at 08:23, wrote: > It's a bit pointless to allow Kconfig configuration for 1GB kernel > mappings, it's already hidden behind a 'default y' and CONFIG_EXPERT. > > Remove this complication and simplify the code by renaming > CONFIG_ENABLE_DIRECT_GBPAGES to CONFIG_X86_DIRECT_GBPAGES and > document the DEBUG_PAGE_ALLOC and KMEMCHECK quirks. > > Cc: Luis R. Rodriguez > Cc: Andrew Morton > Cc: Andy Lutomirski > Cc: Borislav Petkov > Cc: Borislav Petkov > Cc: Dave Hansen > Cc: David Vrabel > Cc: Dexuan Cui > Cc: Greg Kroah-Hartman > Cc: H. Peter Anvin > Cc: jbeul...@suse.com > Cc: Jan Beulich > Cc: Joonsoo Kim > Cc: Juergen Gross > Cc: Linus Torvalds > Cc: Pavel Machek > Cc: Thomas Gleixner > Cc: Tony Lindgren > Cc: Toshi Kani > Cc: Vlastimil Babka > Cc: Xishi Qiu > Cc: julia.law...@lip6.fr > Signed-off-by: Ingo Molnar > --- > arch/x86/Kconfig | 23 +++ > arch/x86/mm/init.c | 7 +-- > 2 files changed, 8 insertions(+), 22 deletions(-) > > diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig > index 4d06e1c8294a..54d528a37ff4 100644 > --- a/arch/x86/Kconfig > +++ b/arch/x86/Kconfig > @@ -1299,22 +1299,13 @@ config ARCH_DMA_ADDR_T_64BIT > def_bool y > depends on X86_64 || HIGHMEM64G > > -config ENABLE_DIRECT_GBPAGES > - def_bool y > - depends on X86_64 && !DEBUG_PAGEALLOC && !KMEMCHECK > - > -config DIRECT_GBPAGES > - bool "Enable 1GB pages for kernel pagetables" if EXPERT > - default y > - depends on ENABLE_DIRECT_GBPAGES > - ---help--- > - Enable by default the kernel linear mapping to use 1GB pages on CPUs > - that support it. This can improve the kernel's performance a tiny bit > - by reducing TLB pressure. If in doubt, say "Y". If you've disabled > - option but your platform is capable of handling support for this > - you can use the gbpages kernel parameter. Likewise if you've enabled > - this but you'd like to force disable this option you can use the > - nogbpages kernel parameter. > +config X86_DIRECT_GBPAGES > + def_bool (X86_64 && !DEBUG_PAGEALLOC && !KMEMCHECK) config X86_DIRECT_GBPAGES def_bool y depends on X86_64 && !DEBUG_PAGEALLOC && !KMEMCHECK or else it'll leave a pointless # CONFIG_X86_DIRECT_GBPAGES is not set in .config-s where the dependencies are not met. Jan -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 5/4] x86/mm: Further simplify 1 GB kernel linear mappings handling
* Jan Beulich jbeul...@suse.com wrote: +config X86_DIRECT_GBPAGES + def_bool (X86_64 !DEBUG_PAGEALLOC !KMEMCHECK) config X86_DIRECT_GBPAGES def_bool y depends on X86_64 !DEBUG_PAGEALLOC !KMEMCHECK or else it'll leave a pointless # CONFIG_X86_DIRECT_GBPAGES is not set in .config-s where the dependencies are not met. Ok, fixed - thanks! Ingo -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 5/4] x86/mm: Further simplify 1 GB kernel linear mappings handling
On 05.03.15 at 08:23, mi...@kernel.org wrote: It's a bit pointless to allow Kconfig configuration for 1GB kernel mappings, it's already hidden behind a 'default y' and CONFIG_EXPERT. Remove this complication and simplify the code by renaming CONFIG_ENABLE_DIRECT_GBPAGES to CONFIG_X86_DIRECT_GBPAGES and document the DEBUG_PAGE_ALLOC and KMEMCHECK quirks. Cc: Luis R. Rodriguez mcg...@suse.com Cc: Andrew Morton a...@linux-foundation.org Cc: Andy Lutomirski l...@amacapital.net Cc: Borislav Petkov b...@alien8.de Cc: Borislav Petkov b...@suse.de Cc: Dave Hansen dave.han...@linux.intel.com Cc: David Vrabel david.vra...@citrix.com Cc: Dexuan Cui de...@microsoft.com Cc: Greg Kroah-Hartman gre...@linuxfoundation.org Cc: H. Peter Anvin h...@zytor.com Cc: jbeul...@suse.com Cc: Jan Beulich jbeul...@suse.com Cc: Joonsoo Kim iamjoonsoo@lge.com Cc: Juergen Gross jgr...@suse.com Cc: Linus Torvalds torva...@linux-foundation.org Cc: Pavel Machek pa...@ucw.cz Cc: Thomas Gleixner t...@linutronix.de Cc: Tony Lindgren t...@atomide.com Cc: Toshi Kani toshi.k...@hp.com Cc: Vlastimil Babka vba...@suse.cz Cc: Xishi Qiu qiuxi...@huawei.com Cc: julia.law...@lip6.fr Signed-off-by: Ingo Molnar mi...@kernel.org --- arch/x86/Kconfig | 23 +++ arch/x86/mm/init.c | 7 +-- 2 files changed, 8 insertions(+), 22 deletions(-) diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index 4d06e1c8294a..54d528a37ff4 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig @@ -1299,22 +1299,13 @@ config ARCH_DMA_ADDR_T_64BIT def_bool y depends on X86_64 || HIGHMEM64G -config ENABLE_DIRECT_GBPAGES - def_bool y - depends on X86_64 !DEBUG_PAGEALLOC !KMEMCHECK - -config DIRECT_GBPAGES - bool Enable 1GB pages for kernel pagetables if EXPERT - default y - depends on ENABLE_DIRECT_GBPAGES - ---help--- - Enable by default the kernel linear mapping to use 1GB pages on CPUs - that support it. This can improve the kernel's performance a tiny bit - by reducing TLB pressure. If in doubt, say Y. If you've disabled - option but your platform is capable of handling support for this - you can use the gbpages kernel parameter. Likewise if you've enabled - this but you'd like to force disable this option you can use the - nogbpages kernel parameter. +config X86_DIRECT_GBPAGES + def_bool (X86_64 !DEBUG_PAGEALLOC !KMEMCHECK) config X86_DIRECT_GBPAGES def_bool y depends on X86_64 !DEBUG_PAGEALLOC !KMEMCHECK or else it'll leave a pointless # CONFIG_X86_DIRECT_GBPAGES is not set in .config-s where the dependencies are not met. Jan -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 5/4] x86/mm: Further simplify 1 GB kernel linear mappings handling
It's a bit pointless to allow Kconfig configuration for 1GB kernel mappings, it's already hidden behind a 'default y' and CONFIG_EXPERT. Remove this complication and simplify the code by renaming CONFIG_ENABLE_DIRECT_GBPAGES to CONFIG_X86_DIRECT_GBPAGES and document the DEBUG_PAGE_ALLOC and KMEMCHECK quirks. Cc: Luis R. Rodriguez Cc: Andrew Morton Cc: Andy Lutomirski Cc: Borislav Petkov Cc: Borislav Petkov Cc: Dave Hansen Cc: David Vrabel Cc: Dexuan Cui Cc: Greg Kroah-Hartman Cc: H. Peter Anvin Cc: jbeul...@suse.com Cc: Jan Beulich Cc: Joonsoo Kim Cc: Juergen Gross Cc: Linus Torvalds Cc: Pavel Machek Cc: Thomas Gleixner Cc: Tony Lindgren Cc: Toshi Kani Cc: Vlastimil Babka Cc: Xishi Qiu Cc: julia.law...@lip6.fr Signed-off-by: Ingo Molnar --- arch/x86/Kconfig | 23 +++ arch/x86/mm/init.c | 7 +-- 2 files changed, 8 insertions(+), 22 deletions(-) diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index 4d06e1c8294a..54d528a37ff4 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig @@ -1299,22 +1299,13 @@ config ARCH_DMA_ADDR_T_64BIT def_bool y depends on X86_64 || HIGHMEM64G -config ENABLE_DIRECT_GBPAGES - def_bool y - depends on X86_64 && !DEBUG_PAGEALLOC && !KMEMCHECK - -config DIRECT_GBPAGES - bool "Enable 1GB pages for kernel pagetables" if EXPERT - default y - depends on ENABLE_DIRECT_GBPAGES - ---help--- - Enable by default the kernel linear mapping to use 1GB pages on CPUs - that support it. This can improve the kernel's performance a tiny bit - by reducing TLB pressure. If in doubt, say "Y". If you've disabled - option but your platform is capable of handling support for this - you can use the gbpages kernel parameter. Likewise if you've enabled - this but you'd like to force disable this option you can use the - nogbpages kernel parameter. +config X86_DIRECT_GBPAGES + def_bool (X86_64 && !DEBUG_PAGEALLOC && !KMEMCHECK) + ---help--- + Certain kernel features effectively disable kernel + linear 1 GB mappings (even if the CPU otherwise + supports them), so don't confuse the user by printing + that we have them enabled. # Common NUMA Features config NUMA diff --git a/arch/x86/mm/init.c b/arch/x86/mm/init.c index c35ba8bce7cb..8704153f2675 100644 --- a/arch/x86/mm/init.c +++ b/arch/x86/mm/init.c @@ -133,15 +133,10 @@ int after_bootmem; static int page_size_mask; -early_param_on_off("gbpages", "nogbpages", - direct_gbpages, CONFIG_DIRECT_GBPAGES); +early_param_on_off("gbpages", "nogbpages", direct_gbpages, CONFIG_X86_DIRECT_GBPAGES); static void __init init_gbpages(void) { - if (!IS_ENABLED(CONFIG_ENABLE_DIRECT_GBPAGES)) { - direct_gbpages = 0; - return; - } if (direct_gbpages && cpu_has_gbpages) { printk(KERN_INFO "Using GB pages for direct mapping\n"); page_size_mask |= 1 << PG_LEVEL_1G; -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 5/4] x86/mm: Further simplify 1 GB kernel linear mappings handling
It's a bit pointless to allow Kconfig configuration for 1GB kernel mappings, it's already hidden behind a 'default y' and CONFIG_EXPERT. Remove this complication and simplify the code by renaming CONFIG_ENABLE_DIRECT_GBPAGES to CONFIG_X86_DIRECT_GBPAGES and document the DEBUG_PAGE_ALLOC and KMEMCHECK quirks. Cc: Luis R. Rodriguez mcg...@suse.com Cc: Andrew Morton a...@linux-foundation.org Cc: Andy Lutomirski l...@amacapital.net Cc: Borislav Petkov b...@alien8.de Cc: Borislav Petkov b...@suse.de Cc: Dave Hansen dave.han...@linux.intel.com Cc: David Vrabel david.vra...@citrix.com Cc: Dexuan Cui de...@microsoft.com Cc: Greg Kroah-Hartman gre...@linuxfoundation.org Cc: H. Peter Anvin h...@zytor.com Cc: jbeul...@suse.com Cc: Jan Beulich jbeul...@suse.com Cc: Joonsoo Kim iamjoonsoo@lge.com Cc: Juergen Gross jgr...@suse.com Cc: Linus Torvalds torva...@linux-foundation.org Cc: Pavel Machek pa...@ucw.cz Cc: Thomas Gleixner t...@linutronix.de Cc: Tony Lindgren t...@atomide.com Cc: Toshi Kani toshi.k...@hp.com Cc: Vlastimil Babka vba...@suse.cz Cc: Xishi Qiu qiuxi...@huawei.com Cc: julia.law...@lip6.fr Signed-off-by: Ingo Molnar mi...@kernel.org --- arch/x86/Kconfig | 23 +++ arch/x86/mm/init.c | 7 +-- 2 files changed, 8 insertions(+), 22 deletions(-) diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index 4d06e1c8294a..54d528a37ff4 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig @@ -1299,22 +1299,13 @@ config ARCH_DMA_ADDR_T_64BIT def_bool y depends on X86_64 || HIGHMEM64G -config ENABLE_DIRECT_GBPAGES - def_bool y - depends on X86_64 !DEBUG_PAGEALLOC !KMEMCHECK - -config DIRECT_GBPAGES - bool Enable 1GB pages for kernel pagetables if EXPERT - default y - depends on ENABLE_DIRECT_GBPAGES - ---help--- - Enable by default the kernel linear mapping to use 1GB pages on CPUs - that support it. This can improve the kernel's performance a tiny bit - by reducing TLB pressure. If in doubt, say Y. If you've disabled - option but your platform is capable of handling support for this - you can use the gbpages kernel parameter. Likewise if you've enabled - this but you'd like to force disable this option you can use the - nogbpages kernel parameter. +config X86_DIRECT_GBPAGES + def_bool (X86_64 !DEBUG_PAGEALLOC !KMEMCHECK) + ---help--- + Certain kernel features effectively disable kernel + linear 1 GB mappings (even if the CPU otherwise + supports them), so don't confuse the user by printing + that we have them enabled. # Common NUMA Features config NUMA diff --git a/arch/x86/mm/init.c b/arch/x86/mm/init.c index c35ba8bce7cb..8704153f2675 100644 --- a/arch/x86/mm/init.c +++ b/arch/x86/mm/init.c @@ -133,15 +133,10 @@ int after_bootmem; static int page_size_mask; -early_param_on_off(gbpages, nogbpages, - direct_gbpages, CONFIG_DIRECT_GBPAGES); +early_param_on_off(gbpages, nogbpages, direct_gbpages, CONFIG_X86_DIRECT_GBPAGES); static void __init init_gbpages(void) { - if (!IS_ENABLED(CONFIG_ENABLE_DIRECT_GBPAGES)) { - direct_gbpages = 0; - return; - } if (direct_gbpages cpu_has_gbpages) { printk(KERN_INFO Using GB pages for direct mapping\n); page_size_mask |= 1 PG_LEVEL_1G; -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/