Message ID | 1467095901-4634-1-git-send-email-mpe@ellerman.id.au (mailing list archive) |
---|---|
State | Rejected |
Headers | show |
Michael Ellerman <mpe@ellerman.id.au> writes: > The check for !arch_irqs_disabled() in find_linux_pte_or_hugepte() is a > debugging aid, and needn't be enabled for production builds. > > Switch it to a VM_WARN_ONCE(), which is compiled out when > CONFIG_DEBUG_VM=n. > > Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> > --- > arch/powerpc/include/asm/pgtable.h | 6 ++---- > 1 file changed, 2 insertions(+), 4 deletions(-) > > diff --git a/arch/powerpc/include/asm/pgtable.h b/arch/powerpc/include/asm/pgtable.h > index ee09e99097f0..651848039dc4 100644 > --- a/arch/powerpc/include/asm/pgtable.h > +++ b/arch/powerpc/include/asm/pgtable.h > @@ -71,10 +71,8 @@ pte_t *__find_linux_pte_or_hugepte(pgd_t *pgdir, unsigned long ea, > static inline pte_t *find_linux_pte_or_hugepte(pgd_t *pgdir, unsigned long ea, > bool *is_thp, unsigned *shift) > { > - if (!arch_irqs_disabled()) { > - pr_info("%s called with irq enabled\n", __func__); > - dump_stack(); > - } > + VM_WARN_ONCE(!arch_irqs_disabled(), > + "find_linux_pte_or_hugepte() called with irqs enabled!\n"); > return __find_linux_pte_or_hugepte(pgdir, ea, is_thp, shift); > } > https://lkml.kernel.org/r/574de240.uG8/5OM2Lu9RY6K+%akpm@linux-foundation.orgdd Isn't this patch already part of -mm. And why ONCE, we want to find about all the wrong usage. -aneesh
On Tue, 2016-06-28 at 16:15 +0530, Aneesh Kumar K.V wrote: > Michael Ellerman <mpe@ellerman.id.au> writes: > > diff --git a/arch/powerpc/include/asm/pgtable.h b/arch/powerpc/include/asm/pgtable.h > > index ee09e99097f0..651848039dc4 100644 > > --- a/arch/powerpc/include/asm/pgtable.h > > +++ b/arch/powerpc/include/asm/pgtable.h > > @@ -71,10 +71,8 @@ pte_t *__find_linux_pte_or_hugepte(pgd_t *pgdir, unsigned long ea, > > static inline pte_t *find_linux_pte_or_hugepte(pgd_t *pgdir, unsigned long ea, > > bool *is_thp, unsigned *shift) > > { > > - if (!arch_irqs_disabled()) { > > - pr_info("%s called with irq enabled\n", __func__); > > - dump_stack(); > > - } > > + VM_WARN_ONCE(!arch_irqs_disabled(), > > + "find_linux_pte_or_hugepte() called with irqs enabled!\n"); > > return __find_linux_pte_or_hugepte(pgdir, ea, is_thp, shift); > > } > > > > https://lkml.kernel.org/r/574de240.uG8/5OM2Lu9RY6K+%akpm@linux-foundation.orgdd > > Isn't this patch already part of -mm. Ugh, yes. I missed that you'd already sent it. > And why ONCE, we want to find about all the wrong usage. Sure, but if you hit it repeatedly in a common path you're likely to kill the box just with console spam. But I don't mind. Ignore this version. cheers
diff --git a/arch/powerpc/include/asm/pgtable.h b/arch/powerpc/include/asm/pgtable.h index ee09e99097f0..651848039dc4 100644 --- a/arch/powerpc/include/asm/pgtable.h +++ b/arch/powerpc/include/asm/pgtable.h @@ -71,10 +71,8 @@ pte_t *__find_linux_pte_or_hugepte(pgd_t *pgdir, unsigned long ea, static inline pte_t *find_linux_pte_or_hugepte(pgd_t *pgdir, unsigned long ea, bool *is_thp, unsigned *shift) { - if (!arch_irqs_disabled()) { - pr_info("%s called with irq enabled\n", __func__); - dump_stack(); - } + VM_WARN_ONCE(!arch_irqs_disabled(), + "find_linux_pte_or_hugepte() called with irqs enabled!\n"); return __find_linux_pte_or_hugepte(pgdir, ea, is_thp, shift); }
The check for !arch_irqs_disabled() in find_linux_pte_or_hugepte() is a debugging aid, and needn't be enabled for production builds. Switch it to a VM_WARN_ONCE(), which is compiled out when CONFIG_DEBUG_VM=n. Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> --- arch/powerpc/include/asm/pgtable.h | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-)