All of lore.kernel.org
 help / color / mirror / Atom feed
From: Anshuman Khandual <anshuman.khandual@arm.com>
To: Shixin Liu <liushixin2@huawei.com>,
	Andrew Morton <akpm@linux-foundation.org>
Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH -next v2 1/2] mm/debug_vm_pgtable: Move {pmd/pud}_huge_tests out of CONFIG_TRANSPARENT_HUGEPAGE
Date: Fri, 9 Apr 2021 09:35:28 +0530	[thread overview]
Message-ID: <4f290e6e-0e44-8f9a-52e8-1e113695abbb@arm.com> (raw)
In-Reply-To: <20210406044900.2178705-1-liushixin2@huawei.com>


On 4/6/21 10:18 AM, Shixin Liu wrote:
> v1->v2:
> Modified the commit message.

Please avoid change log in the commit message, it should be after '---'
below the SOB statement.

> 
> The functions {pmd/pud}_set_huge and {pmd/pud}_clear_huge ars not dependent on THP.

typo 							   ^^^^^ s/ars/are

Also there is a checkpatch.pl warning.

WARNING: Possible unwrapped commit description (prefer a maximum 75 chars per line)
#10: 
The functions {pmd/pud}_set_huge and {pmd/pud}_clear_huge ars not dependent on THP.

total: 0 errors, 1 warnings, 121 lines checked

As I had mentioned in the earlier version, the commit message should be some
thing like ..

----
The functions {pmd/pud}_set_huge and {pmd/pud}_clear_huge are not dependent
on THP. Hence move {pmd/pud}_huge_tests out of CONFIG_TRANSPARENT_HUGEPAGE.
----

> 
> Signed-off-by: Shixin Liu <liushixin2@huawei.com>
> ---
>  mm/debug_vm_pgtable.c | 91 +++++++++++++++++++------------------------
>  1 file changed, 39 insertions(+), 52 deletions(-)
> 
> diff --git a/mm/debug_vm_pgtable.c b/mm/debug_vm_pgtable.c
> index 05efe98a9ac2..d3cf178621d9 100644
> --- a/mm/debug_vm_pgtable.c
> +++ b/mm/debug_vm_pgtable.c
> @@ -242,29 +242,6 @@ static void __init pmd_leaf_tests(unsigned long pfn, pgprot_t prot)
>  	WARN_ON(!pmd_leaf(pmd));
>  }
>  
> -#ifdef CONFIG_HAVE_ARCH_HUGE_VMAP
> -static void __init pmd_huge_tests(pmd_t *pmdp, unsigned long pfn, pgprot_t prot)
> -{
> -	pmd_t pmd;
> -
> -	if (!arch_vmap_pmd_supported(prot))
> -		return;
> -
> -	pr_debug("Validating PMD huge\n");
> -	/*
> -	 * X86 defined pmd_set_huge() verifies that the given
> -	 * PMD is not a populated non-leaf entry.
> -	 */
> -	WRITE_ONCE(*pmdp, __pmd(0));
> -	WARN_ON(!pmd_set_huge(pmdp, __pfn_to_phys(pfn), prot));
> -	WARN_ON(!pmd_clear_huge(pmdp));
> -	pmd = READ_ONCE(*pmdp);
> -	WARN_ON(!pmd_none(pmd));
> -}
> -#else /* CONFIG_HAVE_ARCH_HUGE_VMAP */
> -static void __init pmd_huge_tests(pmd_t *pmdp, unsigned long pfn, pgprot_t prot) { }
> -#endif /* CONFIG_HAVE_ARCH_HUGE_VMAP */
> -
>  static void __init pmd_savedwrite_tests(unsigned long pfn, pgprot_t prot)
>  {
>  	pmd_t pmd = pfn_pmd(pfn, prot);
> @@ -379,30 +356,6 @@ static void __init pud_leaf_tests(unsigned long pfn, pgprot_t prot)
>  	pud = pud_mkhuge(pud);
>  	WARN_ON(!pud_leaf(pud));
>  }
> -
> -#ifdef CONFIG_HAVE_ARCH_HUGE_VMAP
> -static void __init pud_huge_tests(pud_t *pudp, unsigned long pfn, pgprot_t prot)
> -{
> -	pud_t pud;
> -
> -	if (!arch_vmap_pud_supported(prot))
> -		return;
> -
> -	pr_debug("Validating PUD huge\n");
> -	/*
> -	 * X86 defined pud_set_huge() verifies that the given
> -	 * PUD is not a populated non-leaf entry.
> -	 */
> -	WRITE_ONCE(*pudp, __pud(0));
> -	WARN_ON(!pud_set_huge(pudp, __pfn_to_phys(pfn), prot));
> -	WARN_ON(!pud_clear_huge(pudp));
> -	pud = READ_ONCE(*pudp);
> -	WARN_ON(!pud_none(pud));
> -}
> -#else /* !CONFIG_HAVE_ARCH_HUGE_VMAP */
> -static void __init pud_huge_tests(pud_t *pudp, unsigned long pfn, pgprot_t prot) { }
> -#endif /* !CONFIG_HAVE_ARCH_HUGE_VMAP */
> -
>  #else  /* !CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE_PUD */
>  static void __init pud_basic_tests(struct mm_struct *mm, unsigned long pfn, int idx) { }
>  static void __init pud_advanced_tests(struct mm_struct *mm,
> @@ -412,9 +365,6 @@ static void __init pud_advanced_tests(struct mm_struct *mm,
>  {
>  }
>  static void __init pud_leaf_tests(unsigned long pfn, pgprot_t prot) { }
> -static void __init pud_huge_tests(pud_t *pudp, unsigned long pfn, pgprot_t prot)
> -{
> -}
>  #endif /* CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE_PUD */
>  #else  /* !CONFIG_TRANSPARENT_HUGEPAGE */
>  static void __init pmd_basic_tests(unsigned long pfn, int idx) { }
> @@ -433,14 +383,51 @@ static void __init pud_advanced_tests(struct mm_struct *mm,
>  }
>  static void __init pmd_leaf_tests(unsigned long pfn, pgprot_t prot) { }
>  static void __init pud_leaf_tests(unsigned long pfn, pgprot_t prot) { }
> +static void __init pmd_savedwrite_tests(unsigned long pfn, pgprot_t prot) { }
> +#endif /* CONFIG_TRANSPARENT_HUGEPAGE */
> +
> +#ifdef CONFIG_HAVE_ARCH_HUGE_VMAP
>  static void __init pmd_huge_tests(pmd_t *pmdp, unsigned long pfn, pgprot_t prot)
>  {
> +	pmd_t pmd;
> +
> +	if (!arch_vmap_pmd_supported(prot))
> +		return;
> +
> +	pr_debug("Validating PMD huge\n");
> +	/*
> +	 * X86 defined pmd_set_huge() verifies that the given
> +	 * PMD is not a populated non-leaf entry.
> +	 */
> +	WRITE_ONCE(*pmdp, __pmd(0));
> +	WARN_ON(!pmd_set_huge(pmdp, __pfn_to_phys(pfn), prot));
> +	WARN_ON(!pmd_clear_huge(pmdp));
> +	pmd = READ_ONCE(*pmdp);
> +	WARN_ON(!pmd_none(pmd));
>  }
> +
>  static void __init pud_huge_tests(pud_t *pudp, unsigned long pfn, pgprot_t prot)
>  {
> +	pud_t pud;
> +
> +	if (!arch_vmap_pud_supported(prot))
> +		return;
> +
> +	pr_debug("Validating PUD huge\n");
> +	/*
> +	 * X86 defined pud_set_huge() verifies that the given
> +	 * PUD is not a populated non-leaf entry.
> +	 */
> +	WRITE_ONCE(*pudp, __pud(0));
> +	WARN_ON(!pud_set_huge(pudp, __pfn_to_phys(pfn), prot));
> +	WARN_ON(!pud_clear_huge(pudp));
> +	pud = READ_ONCE(*pudp);
> +	WARN_ON(!pud_none(pud));
>  }
> -static void __init pmd_savedwrite_tests(unsigned long pfn, pgprot_t prot) { }
> -#endif /* CONFIG_TRANSPARENT_HUGEPAGE */
> +#else /* !CONFIG_HAVE_ARCH_HUGE_VMAP */
> +static void __init pmd_huge_tests(pmd_t *pmdp, unsigned long pfn, pgprot_t prot) { }
> +static void __init pud_huge_tests(pud_t *pudp, unsigned long pfn, pgprot_t prot) { }
> +#endif /* CONFIG_HAVE_ARCH_HUGE_VMAP */
>  
>  static void __init p4d_basic_tests(unsigned long pfn, pgprot_t prot)
>  {
> 

With changes to the commit message as suggested earlier.

Reviewed-by: Anshuman Khandual <anshuman.khandual@arm.com>

  parent reply	other threads:[~2021-04-09  4:04 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-04-06  4:48 [PATCH -next v2 1/2] mm/debug_vm_pgtable: Move {pmd/pud}_huge_tests out of CONFIG_TRANSPARENT_HUGEPAGE Shixin Liu
2021-04-06  4:49 ` [PATCH -next v2 2/2] mm/debug_vm_pgtable: Remove redundant pfn_{pmd/pte}() and fix one comment mistake Shixin Liu
2021-04-09  3:41   ` Anshuman Khandual
2021-04-09  4:05 ` Anshuman Khandual [this message]
2021-04-19  3:30   ` [PATCH -next v2 1/2] mm/debug_vm_pgtable: Move {pmd/pud}_huge_tests out of CONFIG_TRANSPARENT_HUGEPAGE Anshuman Khandual
2021-04-19  6:12     ` Liu Shixin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4f290e6e-0e44-8f9a-52e8-1e113695abbb@arm.com \
    --to=anshuman.khandual@arm.com \
    --cc=akpm@linux-foundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=liushixin2@huawei.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.