From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S966921AbcA0WRR (ORCPT ); Wed, 27 Jan 2016 17:17:17 -0500 Received: from mail-pa0-f42.google.com ([209.85.220.42]:34844 "EHLO mail-pa0-f42.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S936227AbcA0WRI (ORCPT ); Wed, 27 Jan 2016 17:17:08 -0500 Date: Wed, 27 Jan 2016 14:17:05 -0800 (PST) From: David Rientjes X-X-Sender: rientjes@chino.kir.corp.google.com To: Christian Borntraeger cc: akpm@linux-foundation.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, linux-arch@vger.kernel.org, linux-s390@vger.kernel.org, x86@kernel.org, linuxppc-dev@lists.ozlabs.org, davem@davemloft.net, Joonsoo Kim , davej@codemonkey.org.uk Subject: Re: [PATCH v3 2/3] x86: query dynamic DEBUG_PAGEALLOC setting In-Reply-To: <1453889401-43496-3-git-send-email-borntraeger@de.ibm.com> Message-ID: References: <1453889401-43496-1-git-send-email-borntraeger@de.ibm.com> <1453889401-43496-3-git-send-email-borntraeger@de.ibm.com> User-Agent: Alpine 2.10 (DEB 1266 2009-07-14) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, 27 Jan 2016, Christian Borntraeger wrote: > We can use debug_pagealloc_enabled() to check if we can map > the identity mapping with 2MB pages. We can also add the state > into the dump_stack output. > > The patch does not touch the code for the 1GB pages, which ignored > CONFIG_DEBUG_PAGEALLOC. Do we need to fence this as well? > > Signed-off-by: Christian Borntraeger > Reviewed-by: Thomas Gleixner > --- > arch/x86/kernel/dumpstack.c | 5 ++--- > arch/x86/mm/init.c | 7 ++++--- > arch/x86/mm/pageattr.c | 14 ++++---------- > 3 files changed, 10 insertions(+), 16 deletions(-) > > diff --git a/arch/x86/kernel/dumpstack.c b/arch/x86/kernel/dumpstack.c > index 9c30acf..32e5699 100644 > --- a/arch/x86/kernel/dumpstack.c > +++ b/arch/x86/kernel/dumpstack.c > @@ -265,9 +265,8 @@ int __die(const char *str, struct pt_regs *regs, long err) > #ifdef CONFIG_SMP > printk("SMP "); > #endif > -#ifdef CONFIG_DEBUG_PAGEALLOC > - printk("DEBUG_PAGEALLOC "); > -#endif > + if (debug_pagealloc_enabled()) > + printk("DEBUG_PAGEALLOC "); > #ifdef CONFIG_KASAN > printk("KASAN"); > #endif > diff --git a/arch/x86/mm/init.c b/arch/x86/mm/init.c > index 493f541..39823fd 100644 > --- a/arch/x86/mm/init.c > +++ b/arch/x86/mm/init.c > @@ -150,13 +150,14 @@ static int page_size_mask; > > static void __init probe_page_size_mask(void) > { > -#if !defined(CONFIG_DEBUG_PAGEALLOC) && !defined(CONFIG_KMEMCHECK) > +#if !defined(CONFIG_KMEMCHECK) > /* > - * For CONFIG_DEBUG_PAGEALLOC, identity mapping will use small pages. > + * For CONFIG_KMEMCHECK or pagealloc debugging, identity mapping will > + * use small pages. > * This will simplify cpa(), which otherwise needs to support splitting > * large pages into small in interrupt context, etc. > */ > - if (cpu_has_pse) > + if (cpu_has_pse && !debug_pagealloc_enabled()) > page_size_mask |= 1 << PG_LEVEL_2M; > #endif > I would have thought free_init_pages() would be modified to use debug_pagealloc_enabled() as well? From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Rientjes Subject: Re: [PATCH v3 2/3] x86: query dynamic DEBUG_PAGEALLOC setting Date: Wed, 27 Jan 2016 14:17:05 -0800 (PST) Message-ID: References: <1453889401-43496-1-git-send-email-borntraeger@de.ibm.com> <1453889401-43496-3-git-send-email-borntraeger@de.ibm.com> Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Return-path: In-Reply-To: <1453889401-43496-3-git-send-email-borntraeger@de.ibm.com> Sender: owner-linux-mm@kvack.org List-Archive: List-Post: To: Christian Borntraeger Cc: akpm@linux-foundation.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, linux-arch@vger.kernel.org, linux-s390@vger.kernel.org, x86@kernel.org, linuxppc-dev@lists.ozlabs.org, davem@davemloft.net, Joonsoo Kim , davej@codemonkey.org.uk List-ID: On Wed, 27 Jan 2016, Christian Borntraeger wrote: > We can use debug_pagealloc_enabled() to check if we can map > the identity mapping with 2MB pages. We can also add the state > into the dump_stack output. > > The patch does not touch the code for the 1GB pages, which ignored > CONFIG_DEBUG_PAGEALLOC. Do we need to fence this as well? > > Signed-off-by: Christian Borntraeger > Reviewed-by: Thomas Gleixner > --- > arch/x86/kernel/dumpstack.c | 5 ++--- > arch/x86/mm/init.c | 7 ++++--- > arch/x86/mm/pageattr.c | 14 ++++---------- > 3 files changed, 10 insertions(+), 16 deletions(-) > > diff --git a/arch/x86/kernel/dumpstack.c b/arch/x86/kernel/dumpstack.c > index 9c30acf..32e5699 100644 > --- a/arch/x86/kernel/dumpstack.c > +++ b/arch/x86/kernel/dumpstack.c > @@ -265,9 +265,8 @@ int __die(const char *str, struct pt_regs *regs, long err) > #ifdef CONFIG_SMP > printk("SMP "); > #endif > -#ifdef CONFIG_DEBUG_PAGEALLOC > - printk("DEBUG_PAGEALLOC "); > -#endif > + if (debug_pagealloc_enabled()) > + printk("DEBUG_PAGEALLOC "); > #ifdef CONFIG_KASAN > printk("KASAN"); > #endif > diff --git a/arch/x86/mm/init.c b/arch/x86/mm/init.c > index 493f541..39823fd 100644 > --- a/arch/x86/mm/init.c > +++ b/arch/x86/mm/init.c > @@ -150,13 +150,14 @@ static int page_size_mask; > > static void __init probe_page_size_mask(void) > { > -#if !defined(CONFIG_DEBUG_PAGEALLOC) && !defined(CONFIG_KMEMCHECK) > +#if !defined(CONFIG_KMEMCHECK) > /* > - * For CONFIG_DEBUG_PAGEALLOC, identity mapping will use small pages. > + * For CONFIG_KMEMCHECK or pagealloc debugging, identity mapping will > + * use small pages. > * This will simplify cpa(), which otherwise needs to support splitting > * large pages into small in interrupt context, etc. > */ > - if (cpu_has_pse) > + if (cpu_has_pse && !debug_pagealloc_enabled()) > page_size_mask |= 1 << PG_LEVEL_2M; > #endif > I would have thought free_init_pages() would be modified to use debug_pagealloc_enabled() as well? -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org