Message ID | 20240228085350.520953-1-peterx@redhat.com (mailing list archive) |
---|---|
Headers | show |
Series | mm/treewide: Replace pXd_large() with pXd_leaf() | expand |
Le 28/02/2024 à 09:53, peterx@redhat.com a écrit : > From: Peter Xu <peterx@redhat.com> > > [based on latest akpm/mm-unstable, commit 1274e7646240] > > These two APIs are mostly always the same. It's confusing to have both of > them. Merge them into one. Here I used pXd_leaf() only because pXd_leaf() > is a global API which is always defined, while pXd_large() is not. > > We have yet one more API that is similar which is pXd_huge(), but that's > even trickier, so let's do it step by step. > > Some cautions are needed on either x86 or ppc: x86 is currently the only > user of p4d_large(), while ppc used to define pXd_large() only with THP, > while it is not the case for pXd_leaf(). For the rest archs, afaict > they're 100% identical. Maybe would also be a good opportunity to replace pmd_is_leaf() by pmd_leaf() and the same for pud_is_leaf() Christophe > > Only lightly tested on x86. > > Please have a look, thanks. > > Peter Xu (5): > mm/ppc: Define pXd_large() with pXd_leaf() > mm/x86: Replace p4d_large() with p4d_leaf() > mm/treewide: Replace pmd_large() with pmd_leaf() > mm/treewide: Replace pud_large() with pud_leaf() > mm/treewide: Drop pXd_large() > > arch/arm/include/asm/pgtable-2level.h | 1 - > arch/arm/include/asm/pgtable-3level.h | 1 - > arch/arm/mm/dump.c | 4 ++-- > arch/powerpc/include/asm/book3s/64/pgtable.h | 14 -------------- > arch/powerpc/include/asm/pgtable.h | 4 ---- > arch/powerpc/mm/book3s64/pgtable.c | 4 ++-- > arch/powerpc/mm/book3s64/radix_pgtable.c | 2 +- > arch/powerpc/mm/pgtable_64.c | 2 +- > arch/s390/boot/vmem.c | 4 ++-- > arch/s390/include/asm/pgtable.h | 20 ++++++++++---------- > arch/s390/mm/gmap.c | 14 +++++++------- > arch/s390/mm/hugetlbpage.c | 6 +++--- > arch/s390/mm/pageattr.c | 4 ++-- > arch/s390/mm/pgtable.c | 8 ++++---- > arch/s390/mm/vmem.c | 12 ++++++------ > arch/sparc/include/asm/pgtable_64.h | 8 ++++---- > arch/sparc/mm/init_64.c | 6 +++--- > arch/x86/boot/compressed/ident_map_64.c | 2 +- > arch/x86/include/asm/pgtable.h | 15 +++++++-------- > arch/x86/kvm/mmu/mmu.c | 4 ++-- > arch/x86/mm/fault.c | 16 ++++++++-------- > arch/x86/mm/ident_map.c | 2 +- > arch/x86/mm/init_32.c | 2 +- > arch/x86/mm/init_64.c | 14 +++++++------- > arch/x86/mm/kasan_init_64.c | 4 ++-- > arch/x86/mm/mem_encrypt_identity.c | 6 +++--- > arch/x86/mm/pat/set_memory.c | 14 +++++++------- > arch/x86/mm/pgtable.c | 4 ++-- > arch/x86/mm/pti.c | 8 ++++---- > arch/x86/power/hibernate.c | 6 +++--- > arch/x86/xen/mmu_pv.c | 10 +++++----- > drivers/misc/sgi-gru/grufault.c | 2 +- > 32 files changed, 101 insertions(+), 122 deletions(-) >
From: Peter Xu <peterx@redhat.com> [based on latest akpm/mm-unstable, commit 1274e7646240] These two APIs are mostly always the same. It's confusing to have both of them. Merge them into one. Here I used pXd_leaf() only because pXd_leaf() is a global API which is always defined, while pXd_large() is not. We have yet one more API that is similar which is pXd_huge(), but that's even trickier, so let's do it step by step. Some cautions are needed on either x86 or ppc: x86 is currently the only user of p4d_large(), while ppc used to define pXd_large() only with THP, while it is not the case for pXd_leaf(). For the rest archs, afaict they're 100% identical. Only lightly tested on x86. Please have a look, thanks. Peter Xu (5): mm/ppc: Define pXd_large() with pXd_leaf() mm/x86: Replace p4d_large() with p4d_leaf() mm/treewide: Replace pmd_large() with pmd_leaf() mm/treewide: Replace pud_large() with pud_leaf() mm/treewide: Drop pXd_large() arch/arm/include/asm/pgtable-2level.h | 1 - arch/arm/include/asm/pgtable-3level.h | 1 - arch/arm/mm/dump.c | 4 ++-- arch/powerpc/include/asm/book3s/64/pgtable.h | 14 -------------- arch/powerpc/include/asm/pgtable.h | 4 ---- arch/powerpc/mm/book3s64/pgtable.c | 4 ++-- arch/powerpc/mm/book3s64/radix_pgtable.c | 2 +- arch/powerpc/mm/pgtable_64.c | 2 +- arch/s390/boot/vmem.c | 4 ++-- arch/s390/include/asm/pgtable.h | 20 ++++++++++---------- arch/s390/mm/gmap.c | 14 +++++++------- arch/s390/mm/hugetlbpage.c | 6 +++--- arch/s390/mm/pageattr.c | 4 ++-- arch/s390/mm/pgtable.c | 8 ++++---- arch/s390/mm/vmem.c | 12 ++++++------ arch/sparc/include/asm/pgtable_64.h | 8 ++++---- arch/sparc/mm/init_64.c | 6 +++--- arch/x86/boot/compressed/ident_map_64.c | 2 +- arch/x86/include/asm/pgtable.h | 15 +++++++-------- arch/x86/kvm/mmu/mmu.c | 4 ++-- arch/x86/mm/fault.c | 16 ++++++++-------- arch/x86/mm/ident_map.c | 2 +- arch/x86/mm/init_32.c | 2 +- arch/x86/mm/init_64.c | 14 +++++++------- arch/x86/mm/kasan_init_64.c | 4 ++-- arch/x86/mm/mem_encrypt_identity.c | 6 +++--- arch/x86/mm/pat/set_memory.c | 14 +++++++------- arch/x86/mm/pgtable.c | 4 ++-- arch/x86/mm/pti.c | 8 ++++---- arch/x86/power/hibernate.c | 6 +++--- arch/x86/xen/mmu_pv.c | 10 +++++----- drivers/misc/sgi-gru/grufault.c | 2 +- 32 files changed, 101 insertions(+), 122 deletions(-)