diff mbox

powerpc/mm: Use VM_WARN_ONCE() for irqs disabled check

Message ID 1467095901-4634-1-git-send-email-mpe@ellerman.id.au (mailing list archive)
State Rejected
Headers show

Commit Message

Michael Ellerman June 28, 2016, 6:38 a.m. UTC
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(-)

Comments

Aneesh Kumar K.V June 28, 2016, 10:45 a.m. UTC | #1
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
Michael Ellerman June 28, 2016, 11:13 a.m. UTC | #2
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 mbox

Patch

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);
 }