From: peterx@redhat.com To: linux-mm@kvack.org, linux-kernel@vger.kernel.org Cc: 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>, peterx@redhat.com, Andrew Morton <akpm@linux-foundation.org>, linuxppc-dev@lists.ozlabs.org, Muchun Song <muchun.song@linux.dev> Subject: [PATCH v3 00/10] mm/treewide: Replace pXd_large() with pXd_leaf() Date: Tue, 5 Mar 2024 12:37:40 +0800 [thread overview] Message-ID: <20240305043750.93762-1-peterx@redhat.com> (raw) From: Peter Xu <peterx@redhat.com> [based on latest akpm/mm-unstable, commit b38c34939fe4] v3: - Added three patches - mm/treewide: Align up pXd_leaf() retval across archs Per request from Jason to further cleanup the retvals - mm/kasan: Use pXd_leaf() in shadow_mapped() Something I spot when saw a pXd_large() comment block, put it as a separate patch to cleanup. - mm/x86: Replace pgd_large() with pgd_leaf() Overlooked we even have pgd_leaf() defined for x86, added one more patch for it. Now I'm pretty sure p?d_large() all gone for good. - Collected R-bs / A-bs v2: https://lore.kernel.org/r/20240229084258.599774-1-peterx@redhat.com v1: https://lore.kernel.org/r/20240228085350.520953-1-peterx@redhat.com 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 special cares are taken for ppc and x86, they're done as separate cleanups first. Only lightly tested on x86. Please have a look, thanks. Peter Xu (10): mm/ppc: Define pXd_large() with pXd_leaf() mm/ppc: Replace pXd_is_leaf() with pXd_leaf() mm/x86: Replace p4d_large() with p4d_leaf() mm/x86: Replace pgd_large() with pgd_leaf() mm/x86: Drop two unnecessary pud_leaf() definitions mm/kasan: Use pXd_leaf() in shadow_mapped() mm/treewide: Replace pmd_large() with pmd_leaf() mm/treewide: Replace pud_large() with pud_leaf() mm/treewide: Drop pXd_large() mm/treewide: Align up pXd_leaf() retval across archs arch/arm/include/asm/pgtable-2level.h | 1 - arch/arm/include/asm/pgtable-3level.h | 1 - arch/arm/mm/dump.c | 4 +-- arch/loongarch/kvm/mmu.c | 2 +- arch/powerpc/include/asm/book3s/64/pgtable.h | 26 ++++-------------- arch/powerpc/include/asm/pgtable.h | 28 -------------------- arch/powerpc/kvm/book3s_64_mmu_radix.c | 12 ++++----- arch/powerpc/mm/book3s64/pgtable.c | 4 +-- arch/powerpc/mm/book3s64/radix_pgtable.c | 16 +++++------ arch/powerpc/mm/pgtable.c | 6 ++--- arch/powerpc/mm/pgtable_64.c | 8 +++--- arch/powerpc/xmon/xmon.c | 6 ++--- arch/riscv/include/asm/pgtable-64.h | 2 +- arch/riscv/include/asm/pgtable.h | 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 | 24 +++++++---------- arch/x86/kvm/mmu/mmu.c | 6 ++--- 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 | 10 +++---- arch/x86/power/hibernate.c | 6 ++--- arch/x86/xen/mmu_pv.c | 10 +++---- drivers/misc/sgi-gru/grufault.c | 2 +- include/asm-generic/pgtable-nopmd.h | 1 - include/linux/pgtable.h | 8 +++--- mm/kasan/shadow.c | 11 ++------ 41 files changed, 141 insertions(+), 201 deletions(-) -- 2.44.0
WARNING: multiple messages have this Message-ID (diff)
From: peterx@redhat.com To: linux-mm@kvack.org, linux-kernel@vger.kernel.org Cc: Muchun Song <muchun.song@linux.dev>, Yang Shi <shy828301@gmail.com>, x86@kernel.org, peterx@redhat.com, Jason Gunthorpe <jgg@nvidia.com>, "Kirill A . Shutemov" <kirill@shutemov.name>, Andrew Morton <akpm@linux-foundation.org>, linuxppc-dev@lists.ozlabs.org Subject: [PATCH v3 00/10] mm/treewide: Replace pXd_large() with pXd_leaf() Date: Tue, 5 Mar 2024 12:37:40 +0800 [thread overview] Message-ID: <20240305043750.93762-1-peterx@redhat.com> (raw) From: Peter Xu <peterx@redhat.com> [based on latest akpm/mm-unstable, commit b38c34939fe4] v3: - Added three patches - mm/treewide: Align up pXd_leaf() retval across archs Per request from Jason to further cleanup the retvals - mm/kasan: Use pXd_leaf() in shadow_mapped() Something I spot when saw a pXd_large() comment block, put it as a separate patch to cleanup. - mm/x86: Replace pgd_large() with pgd_leaf() Overlooked we even have pgd_leaf() defined for x86, added one more patch for it. Now I'm pretty sure p?d_large() all gone for good. - Collected R-bs / A-bs v2: https://lore.kernel.org/r/20240229084258.599774-1-peterx@redhat.com v1: https://lore.kernel.org/r/20240228085350.520953-1-peterx@redhat.com 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 special cares are taken for ppc and x86, they're done as separate cleanups first. Only lightly tested on x86. Please have a look, thanks. Peter Xu (10): mm/ppc: Define pXd_large() with pXd_leaf() mm/ppc: Replace pXd_is_leaf() with pXd_leaf() mm/x86: Replace p4d_large() with p4d_leaf() mm/x86: Replace pgd_large() with pgd_leaf() mm/x86: Drop two unnecessary pud_leaf() definitions mm/kasan: Use pXd_leaf() in shadow_mapped() mm/treewide: Replace pmd_large() with pmd_leaf() mm/treewide: Replace pud_large() with pud_leaf() mm/treewide: Drop pXd_large() mm/treewide: Align up pXd_leaf() retval across archs arch/arm/include/asm/pgtable-2level.h | 1 - arch/arm/include/asm/pgtable-3level.h | 1 - arch/arm/mm/dump.c | 4 +-- arch/loongarch/kvm/mmu.c | 2 +- arch/powerpc/include/asm/book3s/64/pgtable.h | 26 ++++-------------- arch/powerpc/include/asm/pgtable.h | 28 -------------------- arch/powerpc/kvm/book3s_64_mmu_radix.c | 12 ++++----- arch/powerpc/mm/book3s64/pgtable.c | 4 +-- arch/powerpc/mm/book3s64/radix_pgtable.c | 16 +++++------ arch/powerpc/mm/pgtable.c | 6 ++--- arch/powerpc/mm/pgtable_64.c | 8 +++--- arch/powerpc/xmon/xmon.c | 6 ++--- arch/riscv/include/asm/pgtable-64.h | 2 +- arch/riscv/include/asm/pgtable.h | 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 | 24 +++++++---------- arch/x86/kvm/mmu/mmu.c | 6 ++--- 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 | 10 +++---- arch/x86/power/hibernate.c | 6 ++--- arch/x86/xen/mmu_pv.c | 10 +++---- drivers/misc/sgi-gru/grufault.c | 2 +- include/asm-generic/pgtable-nopmd.h | 1 - include/linux/pgtable.h | 8 +++--- mm/kasan/shadow.c | 11 ++------ 41 files changed, 141 insertions(+), 201 deletions(-) -- 2.44.0
next reply other threads:[~2024-03-05 4:38 UTC|newest] Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top 2024-03-05 4:37 peterx [this message] 2024-03-05 4:37 ` [PATCH v3 00/10] mm/treewide: Replace pXd_large() with pXd_leaf() 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 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=20240305043750.93762-1-peterx@redhat.com \ --to=peterx@redhat.com \ --cc=akpm@linux-foundation.org \ --cc=christophe.leroy@csgroup.eu \ --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=muchun.song@linux.dev \ --cc=shy828301@gmail.com \ --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: linkBe 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.