From: Peter Xu <peterx@redhat.com>
To: Christophe Leroy <christophe.leroy@csgroup.eu>
Cc: "linux-mm@kvack.org" <linux-mm@kvack.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"linuxppc-dev@lists.ozlabs.org" <linuxppc-dev@lists.ozlabs.org>,
Andrew Morton <akpm@linux-foundation.org>,
Muchun Song <muchun.song@linux.dev>,
Jason Gunthorpe <jgg@nvidia.com>,
Matthew Wilcox <willy@infradead.org>,
Mike Rapoport <rppt@kernel.org>,
"x86@kernel.org" <x86@kernel.org>,
"sparclinux@vger.kernel.org" <sparclinux@vger.kernel.org>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>
Subject: Re: [PATCH RFC 00/13] mm/treewide: Remove pXd_huge() API
Date: Tue, 12 Mar 2024 16:01:14 -0400 [thread overview]
Message-ID: <ZfC0ioxUrCK5sX1k@x1n> (raw)
In-Reply-To: <f9b786bf-27d9-4e16-b8d2-2a2666d917df@csgroup.eu>
Hi, Christophe,
On Mon, Mar 11, 2024 at 09:58:47AM +0000, Christophe Leroy wrote:
> Hi Peter, and nice job you are doing in cleaning up things around _huge
> stuff.
Thanks. I appreciate your help along the way on Power.
>
> One thing that might be worth looking at also at some point is the mess
> around pmd_clear_huge() and pud_clear_huge().
>
> I tried to clean things up with commit c742199a014d ("mm/pgtable: add
> stubs for {pmd/pub}_{set/clear}_huge") but it was reverted because of
> arm64 by commit d8a719059b9d ("Revert "mm/pgtable: add stubs for
> {pmd/pub}_{set/clear}_huge"")
>
> So now powerpc/8xx has to implement pmd_clear_huge() and
> pud_clear_huge() allthough 8xx page hierarchy only has 2 levels.
Those are so far out of my radar, as my focus right now is still more on
hugetlbfs relevant side of things, while kernel mappings are not yet
directly involved in hugetlbfs, even though they're still huge mappings.
It's a pity to know that broke arm and got reverted, as that looks like a
good thing to clean it up if ever possible. I tend to agree with you that
it seems for 3lvl we should define pgd_huge*() instead of pud_huge*(), so
that it looks like the only way to provide such a treewide clean API is to
properly define those APIs for aarch64, and define different pud helpers
for either 3/4 levels. But I confess I don't think I fully digested all
the bits.
Thanks,
--
Peter Xu
prev parent reply other threads:[~2024-03-12 20:01 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-03-06 10:41 [PATCH RFC 00/13] mm/treewide: Remove pXd_huge() API peterx
2024-03-06 10:41 ` [PATCH RFC 01/13] mm/hmm: Process pud swap entry without pud_huge() peterx
2024-03-07 18:12 ` Jason Gunthorpe
2024-03-08 6:50 ` Peter Xu
2024-03-06 10:41 ` [PATCH RFC 02/13] mm/gup: Cache p4d in follow_p4d_mask() peterx
2024-03-06 10:41 ` [PATCH RFC 03/13] mm/gup: Check p4d presence before going on peterx
2024-03-07 20:08 ` Jason Gunthorpe
2024-03-06 10:41 ` [PATCH RFC 04/13] mm/x86: Change pXd_huge() behavior to exclude swap entries peterx
2024-03-07 20:16 ` Jason Gunthorpe
2024-03-06 10:41 ` [PATCH RFC 05/13] mm/sparc: " peterx
2024-03-06 10:41 ` [PATCH RFC 06/13] mm/arm: Use macros to define pmd/pud helpers peterx
2024-03-06 10:41 ` [PATCH RFC 07/13] mm/arm: Redefine pmd_huge() with pmd_leaf() peterx
2024-03-06 10:41 ` [PATCH RFC 08/13] mm/arm64: Merge pXd_huge() and pXd_leaf() definitions peterx
2024-03-06 10:41 ` [PATCH RFC 09/13] mm/powerpc: Redefine pXd_huge() with pXd_leaf() peterx
2024-03-06 12:56 ` Michael Ellerman
2024-03-07 3:05 ` Peter Xu
2024-03-06 10:41 ` [PATCH RFC 10/13] mm/gup: Merge pXd huge mapping checks peterx
2024-03-07 20:19 ` Jason Gunthorpe
2024-03-06 10:41 ` [PATCH RFC 11/13] mm/treewide: Replace pXd_huge() with pXd_leaf() peterx
2024-03-06 10:41 ` [PATCH RFC 12/13] mm/treewide: Remove pXd_huge() peterx
2024-03-06 10:41 ` [PATCH RFC 13/13] mm: Document pXd_leaf() API peterx
2024-03-08 15:20 ` Jason Gunthorpe
2024-03-11 9:58 ` [PATCH RFC 00/13] mm/treewide: Remove pXd_huge() API Christophe Leroy
2024-03-12 20:01 ` Peter Xu [this message]
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=ZfC0ioxUrCK5sX1k@x1n \
--to=peterx@redhat.com \
--cc=akpm@linux-foundation.org \
--cc=christophe.leroy@csgroup.eu \
--cc=jgg@nvidia.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=muchun.song@linux.dev \
--cc=rppt@kernel.org \
--cc=sparclinux@vger.kernel.org \
--cc=willy@infradead.org \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).