Re: [PATCH/RFC 3/3] s390: query dynamic DEBUG_PAGEALLOC setting

From: Joonsoo Kim
Date: Tue Jan 26 2016 - 19:19:30 EST


On Tue, Jan 26, 2016 at 03:29:38PM -0800, David Rientjes wrote:
> 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@xxxxxxxxxx>
> > > ---
> > > 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.

Hello, David.

I tried to fix CONFIG_DEBUG_SLAB case on 04/16 of following patchset.

http://thread.gmane.org/gmane.linux.kernel.mm/144527

I found that there are more sites to fix but not so many.
We can do it.

Thanks.