[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.DEB.2.10.1601261525580.25141@chino.kir.corp.google.com>
Date: Tue, 26 Jan 2016 15:29:38 -0800 (PST)
From: David Rientjes <rientjes@...gle.com>
To: Heiko Carstens <heiko.carstens@...ibm.com>
cc: Christian Borntraeger <borntraeger@...ibm.com>,
linux-kernel@...r.kernel.org, akpm@...ux-foundation.org,
linux-mm@...ck.org, linux-arch@...r.kernel.org,
linux-s390@...r.kernel.org, x86@...nel.org
Subject: Re: [PATCH/RFC 3/3] s390: query dynamic DEBUG_PAGEALLOC setting
On Tue, 26 Jan 2016, Heiko Carstens wrote:
> On Tue, Jan 26, 2016 at 10:18:25AM +0100, Christian Borntraeger wrote:
> > We can use debug_pagealloc_enabled() to check if we can map
> > the identity mapping with 1MB/2GB pages as well as to print
> > the current setting in dump_stack.
> >
> > Signed-off-by: Christian Borntraeger <borntraeger@...ibm.com>
> > ---
> > arch/s390/kernel/dumpstack.c | 4 +++-
> > arch/s390/mm/vmem.c | 10 ++++------
> > 2 files changed, 7 insertions(+), 7 deletions(-)
> >
> > diff --git a/arch/s390/kernel/dumpstack.c b/arch/s390/kernel/dumpstack.c
> > index dc8e204..a1c0530 100644
> > --- a/arch/s390/kernel/dumpstack.c
> > +++ b/arch/s390/kernel/dumpstack.c
> > @@ -11,6 +11,7 @@
> > #include <linux/export.h>
> > #include <linux/kdebug.h>
> > #include <linux/ptrace.h>
> > +#include <linux/mm.h>
> > #include <linux/module.h>
> > #include <linux/sched.h>
> > #include <asm/processor.h>
> > @@ -186,7 +187,8 @@ void die(struct pt_regs *regs, const char *str)
> > printk("SMP ");
> > #endif
> > #ifdef CONFIG_DEBUG_PAGEALLOC
> > - printk("DEBUG_PAGEALLOC");
> > + printk("DEBUG_PAGEALLOC(%s)",
> > + debug_pagealloc_enabled() ? "enabled" : "disabled");
> > #endif
>
> I'd prefer if you change this to
>
> if (debug_pagealloc_enabled())
> printk("DEBUG_PAGEALLOC");
>
> That way we can get rid of yet another ifdef. Having
> "DEBUG_PAGEALLOC(disabled)" doesn't seem to be very helpful.
>
I'd agree if CONFIG_DEBUG_PAGEALLOC only did anything when
debug_pagealloc_enabled() is true, but that doesn't seem to be the case.
When CONFIG_DEBUG_SLAB is enabled, for instance, CONFIG_DEBUG_PAGEALLOC
also enables stackinfo storing and poisoning and it's not guarded by
debug_pagealloc_enabled().
It seems like CONFIG_DEBUG_PAGEALLOC enables debugging functionality
outside the scope of the debug_pagealloc=on kernel parameter, so
DEBUG_PAGEALLOC(disabled) actually does mean something.
Powered by blists - more mailing lists