All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mike Rapoport <rppt@kernel.org>
To: peterx@redhat.com
Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	x86@kernel.org, "Kirill A . Shutemov" <kirill@shutemov.name>,
	Jason Gunthorpe <jgg@nvidia.com>, Yang Shi <shy828301@gmail.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	linuxppc-dev@lists.ozlabs.org,
	Muchun Song <muchun.song@linux.dev>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>
Subject: Re: [PATCH v3 03/10] mm/x86: Replace p4d_large() with p4d_leaf()
Date: Wed, 6 Mar 2024 08:23:07 +0200	[thread overview]
Message-ID: <ZegLy9z7cdROGL3D@kernel.org> (raw)
In-Reply-To: <20240305043750.93762-4-peterx@redhat.com>

On Tue, Mar 05, 2024 at 12:37:43PM +0800, peterx@redhat.com wrote:
> From: Peter Xu <peterx@redhat.com>
> 
> p4d_large() is always defined as p4d_leaf().  Merge their usages.  Chose
> p4d_leaf() because p4d_leaf() is a global API, while p4d_large() is not.
> 
> Only x86 has p4d_leaf() defined as of now.  So it also means after this
> patch we removed all p4d_large() usages.
> 
> Cc: Thomas Gleixner <tglx@linutronix.de>
> Cc: Ingo Molnar <mingo@redhat.com>
> Cc: Borislav Petkov <bp@alien8.de>
> Cc: Dave Hansen <dave.hansen@linux.intel.com>
> Cc: x86@kernel.org
> Reviewed-by: Jason Gunthorpe <jgg@nvidia.com>
> Signed-off-by: Peter Xu <peterx@redhat.com>

Reviewed-by: Mike Rapoport (IBM) <rppt@kernel.org>

> ---
>  arch/x86/mm/fault.c          | 4 ++--
>  arch/x86/mm/init_64.c        | 2 +-
>  arch/x86/mm/pat/set_memory.c | 4 ++--
>  arch/x86/mm/pti.c            | 2 +-
>  arch/x86/power/hibernate.c   | 2 +-
>  arch/x86/xen/mmu_pv.c        | 2 +-
>  6 files changed, 8 insertions(+), 8 deletions(-)
> 
> diff --git a/arch/x86/mm/fault.c b/arch/x86/mm/fault.c
> index 679b09cfe241..8b69ce3f4115 100644
> --- a/arch/x86/mm/fault.c
> +++ b/arch/x86/mm/fault.c
> @@ -368,7 +368,7 @@ static void dump_pagetable(unsigned long address)
>  		goto bad;
>  
>  	pr_cont("P4D %lx ", p4d_val(*p4d));
> -	if (!p4d_present(*p4d) || p4d_large(*p4d))
> +	if (!p4d_present(*p4d) || p4d_leaf(*p4d))
>  		goto out;
>  
>  	pud = pud_offset(p4d, address);
> @@ -1039,7 +1039,7 @@ spurious_kernel_fault(unsigned long error_code, unsigned long address)
>  	if (!p4d_present(*p4d))
>  		return 0;
>  
> -	if (p4d_large(*p4d))
> +	if (p4d_leaf(*p4d))
>  		return spurious_kernel_fault_check(error_code, (pte_t *) p4d);
>  
>  	pud = pud_offset(p4d, address);
> diff --git a/arch/x86/mm/init_64.c b/arch/x86/mm/init_64.c
> index ebdbcae48011..d691e7992a9a 100644
> --- a/arch/x86/mm/init_64.c
> +++ b/arch/x86/mm/init_64.c
> @@ -1197,7 +1197,7 @@ remove_p4d_table(p4d_t *p4d_start, unsigned long addr, unsigned long end,
>  		if (!p4d_present(*p4d))
>  			continue;
>  
> -		BUILD_BUG_ON(p4d_large(*p4d));
> +		BUILD_BUG_ON(p4d_leaf(*p4d));
>  
>  		pud_base = pud_offset(p4d, 0);
>  		remove_pud_table(pud_base, addr, next, altmap, direct);
> diff --git a/arch/x86/mm/pat/set_memory.c b/arch/x86/mm/pat/set_memory.c
> index e9b448d1b1b7..5359a9c88099 100644
> --- a/arch/x86/mm/pat/set_memory.c
> +++ b/arch/x86/mm/pat/set_memory.c
> @@ -676,7 +676,7 @@ pte_t *lookup_address_in_pgd(pgd_t *pgd, unsigned long address,
>  		return NULL;
>  
>  	*level = PG_LEVEL_512G;
> -	if (p4d_large(*p4d) || !p4d_present(*p4d))
> +	if (p4d_leaf(*p4d) || !p4d_present(*p4d))
>  		return (pte_t *)p4d;
>  
>  	pud = pud_offset(p4d, address);
> @@ -739,7 +739,7 @@ pmd_t *lookup_pmd_address(unsigned long address)
>  		return NULL;
>  
>  	p4d = p4d_offset(pgd, address);
> -	if (p4d_none(*p4d) || p4d_large(*p4d) || !p4d_present(*p4d))
> +	if (p4d_none(*p4d) || p4d_leaf(*p4d) || !p4d_present(*p4d))
>  		return NULL;
>  
>  	pud = pud_offset(p4d, address);
> diff --git a/arch/x86/mm/pti.c b/arch/x86/mm/pti.c
> index 669ba1c345b3..dc0a81f5f60e 100644
> --- a/arch/x86/mm/pti.c
> +++ b/arch/x86/mm/pti.c
> @@ -206,7 +206,7 @@ static pmd_t *pti_user_pagetable_walk_pmd(unsigned long address)
>  	if (!p4d)
>  		return NULL;
>  
> -	BUILD_BUG_ON(p4d_large(*p4d) != 0);
> +	BUILD_BUG_ON(p4d_leaf(*p4d) != 0);
>  	if (p4d_none(*p4d)) {
>  		unsigned long new_pud_page = __get_free_page(gfp);
>  		if (WARN_ON_ONCE(!new_pud_page))
> diff --git a/arch/x86/power/hibernate.c b/arch/x86/power/hibernate.c
> index 6f955eb1e163..28153789f873 100644
> --- a/arch/x86/power/hibernate.c
> +++ b/arch/x86/power/hibernate.c
> @@ -165,7 +165,7 @@ int relocate_restore_code(void)
>  	pgd = (pgd_t *)__va(read_cr3_pa()) +
>  		pgd_index(relocated_restore_code);
>  	p4d = p4d_offset(pgd, relocated_restore_code);
> -	if (p4d_large(*p4d)) {
> +	if (p4d_leaf(*p4d)) {
>  		set_p4d(p4d, __p4d(p4d_val(*p4d) & ~_PAGE_NX));
>  		goto out;
>  	}
> diff --git a/arch/x86/xen/mmu_pv.c b/arch/x86/xen/mmu_pv.c
> index e21974f2cf2d..12a43a4abebf 100644
> --- a/arch/x86/xen/mmu_pv.c
> +++ b/arch/x86/xen/mmu_pv.c
> @@ -1104,7 +1104,7 @@ static void __init xen_cleanmfnmap_p4d(p4d_t *p4d, bool unpin)
>  	pud_t *pud_tbl;
>  	int i;
>  
> -	if (p4d_large(*p4d)) {
> +	if (p4d_leaf(*p4d)) {
>  		pa = p4d_val(*p4d) & PHYSICAL_PAGE_MASK;
>  		xen_free_ro_pages(pa, P4D_SIZE);
>  		return;
> -- 
> 2.44.0
> 
> 

-- 
Sincerely yours,
Mike.

WARNING: multiple messages have this Message-ID (diff)
From: Mike Rapoport <rppt@kernel.org>
To: peterx@redhat.com
Cc: Muchun Song <muchun.song@linux.dev>,
	Yang Shi <shy828301@gmail.com>,
	x86@kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org,
	Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	Jason Gunthorpe <jgg@nvidia.com>,
	"Kirill A . Shutemov" <kirill@shutemov.name>,
	Andrew Morton <akpm@linux-foundation.org>,
	linuxppc-dev@lists.ozlabs.org,
	Thomas Gleixner <tglx@linutronix.de>
Subject: Re: [PATCH v3 03/10] mm/x86: Replace p4d_large() with p4d_leaf()
Date: Wed, 6 Mar 2024 08:23:07 +0200	[thread overview]
Message-ID: <ZegLy9z7cdROGL3D@kernel.org> (raw)
In-Reply-To: <20240305043750.93762-4-peterx@redhat.com>

On Tue, Mar 05, 2024 at 12:37:43PM +0800, peterx@redhat.com wrote:
> From: Peter Xu <peterx@redhat.com>
> 
> p4d_large() is always defined as p4d_leaf().  Merge their usages.  Chose
> p4d_leaf() because p4d_leaf() is a global API, while p4d_large() is not.
> 
> Only x86 has p4d_leaf() defined as of now.  So it also means after this
> patch we removed all p4d_large() usages.
> 
> Cc: Thomas Gleixner <tglx@linutronix.de>
> Cc: Ingo Molnar <mingo@redhat.com>
> Cc: Borislav Petkov <bp@alien8.de>
> Cc: Dave Hansen <dave.hansen@linux.intel.com>
> Cc: x86@kernel.org
> Reviewed-by: Jason Gunthorpe <jgg@nvidia.com>
> Signed-off-by: Peter Xu <peterx@redhat.com>

Reviewed-by: Mike Rapoport (IBM) <rppt@kernel.org>

> ---
>  arch/x86/mm/fault.c          | 4 ++--
>  arch/x86/mm/init_64.c        | 2 +-
>  arch/x86/mm/pat/set_memory.c | 4 ++--
>  arch/x86/mm/pti.c            | 2 +-
>  arch/x86/power/hibernate.c   | 2 +-
>  arch/x86/xen/mmu_pv.c        | 2 +-
>  6 files changed, 8 insertions(+), 8 deletions(-)
> 
> diff --git a/arch/x86/mm/fault.c b/arch/x86/mm/fault.c
> index 679b09cfe241..8b69ce3f4115 100644
> --- a/arch/x86/mm/fault.c
> +++ b/arch/x86/mm/fault.c
> @@ -368,7 +368,7 @@ static void dump_pagetable(unsigned long address)
>  		goto bad;
>  
>  	pr_cont("P4D %lx ", p4d_val(*p4d));
> -	if (!p4d_present(*p4d) || p4d_large(*p4d))
> +	if (!p4d_present(*p4d) || p4d_leaf(*p4d))
>  		goto out;
>  
>  	pud = pud_offset(p4d, address);
> @@ -1039,7 +1039,7 @@ spurious_kernel_fault(unsigned long error_code, unsigned long address)
>  	if (!p4d_present(*p4d))
>  		return 0;
>  
> -	if (p4d_large(*p4d))
> +	if (p4d_leaf(*p4d))
>  		return spurious_kernel_fault_check(error_code, (pte_t *) p4d);
>  
>  	pud = pud_offset(p4d, address);
> diff --git a/arch/x86/mm/init_64.c b/arch/x86/mm/init_64.c
> index ebdbcae48011..d691e7992a9a 100644
> --- a/arch/x86/mm/init_64.c
> +++ b/arch/x86/mm/init_64.c
> @@ -1197,7 +1197,7 @@ remove_p4d_table(p4d_t *p4d_start, unsigned long addr, unsigned long end,
>  		if (!p4d_present(*p4d))
>  			continue;
>  
> -		BUILD_BUG_ON(p4d_large(*p4d));
> +		BUILD_BUG_ON(p4d_leaf(*p4d));
>  
>  		pud_base = pud_offset(p4d, 0);
>  		remove_pud_table(pud_base, addr, next, altmap, direct);
> diff --git a/arch/x86/mm/pat/set_memory.c b/arch/x86/mm/pat/set_memory.c
> index e9b448d1b1b7..5359a9c88099 100644
> --- a/arch/x86/mm/pat/set_memory.c
> +++ b/arch/x86/mm/pat/set_memory.c
> @@ -676,7 +676,7 @@ pte_t *lookup_address_in_pgd(pgd_t *pgd, unsigned long address,
>  		return NULL;
>  
>  	*level = PG_LEVEL_512G;
> -	if (p4d_large(*p4d) || !p4d_present(*p4d))
> +	if (p4d_leaf(*p4d) || !p4d_present(*p4d))
>  		return (pte_t *)p4d;
>  
>  	pud = pud_offset(p4d, address);
> @@ -739,7 +739,7 @@ pmd_t *lookup_pmd_address(unsigned long address)
>  		return NULL;
>  
>  	p4d = p4d_offset(pgd, address);
> -	if (p4d_none(*p4d) || p4d_large(*p4d) || !p4d_present(*p4d))
> +	if (p4d_none(*p4d) || p4d_leaf(*p4d) || !p4d_present(*p4d))
>  		return NULL;
>  
>  	pud = pud_offset(p4d, address);
> diff --git a/arch/x86/mm/pti.c b/arch/x86/mm/pti.c
> index 669ba1c345b3..dc0a81f5f60e 100644
> --- a/arch/x86/mm/pti.c
> +++ b/arch/x86/mm/pti.c
> @@ -206,7 +206,7 @@ static pmd_t *pti_user_pagetable_walk_pmd(unsigned long address)
>  	if (!p4d)
>  		return NULL;
>  
> -	BUILD_BUG_ON(p4d_large(*p4d) != 0);
> +	BUILD_BUG_ON(p4d_leaf(*p4d) != 0);
>  	if (p4d_none(*p4d)) {
>  		unsigned long new_pud_page = __get_free_page(gfp);
>  		if (WARN_ON_ONCE(!new_pud_page))
> diff --git a/arch/x86/power/hibernate.c b/arch/x86/power/hibernate.c
> index 6f955eb1e163..28153789f873 100644
> --- a/arch/x86/power/hibernate.c
> +++ b/arch/x86/power/hibernate.c
> @@ -165,7 +165,7 @@ int relocate_restore_code(void)
>  	pgd = (pgd_t *)__va(read_cr3_pa()) +
>  		pgd_index(relocated_restore_code);
>  	p4d = p4d_offset(pgd, relocated_restore_code);
> -	if (p4d_large(*p4d)) {
> +	if (p4d_leaf(*p4d)) {
>  		set_p4d(p4d, __p4d(p4d_val(*p4d) & ~_PAGE_NX));
>  		goto out;
>  	}
> diff --git a/arch/x86/xen/mmu_pv.c b/arch/x86/xen/mmu_pv.c
> index e21974f2cf2d..12a43a4abebf 100644
> --- a/arch/x86/xen/mmu_pv.c
> +++ b/arch/x86/xen/mmu_pv.c
> @@ -1104,7 +1104,7 @@ static void __init xen_cleanmfnmap_p4d(p4d_t *p4d, bool unpin)
>  	pud_t *pud_tbl;
>  	int i;
>  
> -	if (p4d_large(*p4d)) {
> +	if (p4d_leaf(*p4d)) {
>  		pa = p4d_val(*p4d) & PHYSICAL_PAGE_MASK;
>  		xen_free_ro_pages(pa, P4D_SIZE);
>  		return;
> -- 
> 2.44.0
> 
> 

-- 
Sincerely yours,
Mike.

  reply	other threads:[~2024-03-06  6:24 UTC|newest]

Thread overview: 48+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-03-05  4:37 [PATCH v3 00/10] mm/treewide: Replace pXd_large() with pXd_leaf() peterx
2024-03-05  4:37 ` peterx
2024-03-05  4:37 ` [PATCH v3 01/10] mm/ppc: Define " peterx
2024-03-05  4:37   ` peterx
2024-03-05 17:29   ` Christophe Leroy
2024-03-05 17:29     ` Christophe Leroy
2024-03-06  6:15   ` Mike Rapoport
2024-03-06  6:15     ` Mike Rapoport
2024-03-05  4:37 ` [PATCH v3 02/10] mm/ppc: Replace pXd_is_leaf() " peterx
2024-03-05  4:37   ` peterx
2024-03-05 17:31   ` Christophe Leroy
2024-03-05 17:31     ` Christophe Leroy
2024-03-06  6:20   ` Mike Rapoport
2024-03-06  6:20     ` Mike Rapoport
2024-03-05  4:37 ` [PATCH v3 03/10] mm/x86: Replace p4d_large() with p4d_leaf() peterx
2024-03-05  4:37   ` peterx
2024-03-06  6:23   ` Mike Rapoport [this message]
2024-03-06  6:23     ` Mike Rapoport
2024-03-05  4:37 ` [PATCH v3 04/10] mm/x86: Replace pgd_large() with pgd_leaf() peterx
2024-03-05  4:37   ` peterx
2024-03-05 16:05   ` Jason Gunthorpe
2024-03-05 16:05     ` Jason Gunthorpe
2024-03-06  6:23   ` Mike Rapoport
2024-03-06  6:23     ` Mike Rapoport
2024-03-05  4:37 ` [PATCH v3 05/10] mm/x86: Drop two unnecessary pud_leaf() definitions peterx
2024-03-05  4:37   ` peterx
2024-03-06  6:27   ` Mike Rapoport
2024-03-06  6:27     ` Mike Rapoport
2024-03-05  4:37 ` [PATCH v3 06/10] mm/kasan: Use pXd_leaf() in shadow_mapped() peterx
2024-03-05  4:37   ` peterx
2024-03-06  6:28   ` Mike Rapoport
2024-03-06  6:28     ` Mike Rapoport
2024-03-05  4:37 ` [PATCH v3 07/10] mm/treewide: Replace pmd_large() with pmd_leaf() peterx
2024-03-05  4:37   ` peterx
2024-03-06  6:31   ` Mike Rapoport
2024-03-06  6:31     ` Mike Rapoport
2024-03-05  4:37 ` [PATCH v3 08/10] mm/treewide: Replace pud_large() with pud_leaf() peterx
2024-03-05  4:37   ` peterx
2024-03-05  4:37 ` [PATCH v3 09/10] mm/treewide: Drop pXd_large() peterx
2024-03-05  4:37   ` peterx
2024-03-06  6:34   ` Mike Rapoport
2024-03-06  6:34     ` Mike Rapoport
2024-03-05  4:37 ` [PATCH v3 10/10] mm/treewide: Align up pXd_leaf() retval across archs peterx
2024-03-05  4:37   ` peterx
2024-03-05 14:33   ` Jason Gunthorpe
2024-03-05 14:33     ` Jason Gunthorpe
2024-03-06  6:35   ` Mike Rapoport
2024-03-06  6:35     ` Mike Rapoport

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=ZegLy9z7cdROGL3D@kernel.org \
    --to=rppt@kernel.org \
    --cc=akpm@linux-foundation.org \
    --cc=bp@alien8.de \
    --cc=christophe.leroy@csgroup.eu \
    --cc=dave.hansen@linux.intel.com \
    --cc=jgg@nvidia.com \
    --cc=kirill@shutemov.name \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=mingo@redhat.com \
    --cc=muchun.song@linux.dev \
    --cc=peterx@redhat.com \
    --cc=shy828301@gmail.com \
    --cc=tglx@linutronix.de \
    --cc=x86@kernel.org \
    /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.