From: Jason Gunthorpe <jgg@nvidia.com>
To: Christophe Leroy <christophe.leroy@csgroup.eu>
Cc: Andrew Morton <akpm@linux-foundation.org>,
Peter Xu <peterx@redhat.com>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"linux-mm@kvack.org" <linux-mm@kvack.org>,
"linuxppc-dev@lists.ozlabs.org" <linuxppc-dev@lists.ozlabs.org>
Subject: Re: [RFC PATCH 1/8] mm: Provide pagesize to pmd_populate()
Date: Tue, 26 Mar 2024 12:01:18 -0300 [thread overview]
Message-ID: <20240326150118.GI6245@nvidia.com> (raw)
In-Reply-To: <6e16e042-0143-4a52-b4b7-09cf0022bc3e@csgroup.eu>
On Mon, Mar 25, 2024 at 07:05:01PM +0000, Christophe Leroy wrote:
> Not looked into details yet, but I guess so.
>
> By the way there is a wiki dedicated to huge pages on powerpc, you can
> have a look at it here :
> https://github.com/linuxppc/wiki/wiki/Huge-pages , maybe you'll find
> good ideas there to help me.
There sure are alot of page tables types here
I'm a bit wondering about terminology, eg on the first diagram "huge
pte entry" means a PUD entry that is a leaf? Which ones are contiguous
replications?
Just general remarks on the ones with huge pages:
hash 64k and hugepage 16M/16G
radix 64k/radix hugepage 2M/1G
radix 4k/radix hugepage 2M/1G
nohash 32
- I think this is just a normal x86 like scheme? PMD/PUD can be a
leaf with the same size as a next level table.
Do any of these cases need to know the higher level to parse the
lower? eg is there a 2M bit in the PUD indicating that the PMD
is a table of 2M leafs or does each PMD entry have a bit
indicating it is a leaf?
hash 4k and hugepage 16M/16G
nohash 64
- How does this work? I guess since 8xx explicitly calls out
consecutive this is actually the pgd can point to 512 256M
entries or 8 16G entries? Ie the table size at each level is
varable? Or is it the same and the table size is still 512 and
each 16G entry is replicated 64 times?
Do the offset accessors already abstract this enough?
8xx 4K
8xx 16K
- As this series does?
Jason
next prev parent reply other threads:[~2024-03-26 15:01 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-03-25 14:55 [RFC PATCH 0/8] Reimplement huge pages without hugepd on powerpc 8xx Christophe Leroy
2024-03-25 14:55 ` [RFC PATCH 1/8] mm: Provide pagesize to pmd_populate() Christophe Leroy
2024-03-25 16:19 ` Jason Gunthorpe
2024-03-25 19:05 ` Christophe Leroy
2024-03-26 15:01 ` Jason Gunthorpe [this message]
2024-03-27 9:58 ` Christophe Leroy
2024-03-27 16:57 ` Jason Gunthorpe
2024-04-03 18:24 ` Christophe Leroy
2024-04-04 11:46 ` Jason Gunthorpe
2024-05-26 9:29 ` Christophe Leroy
2024-03-25 14:55 ` [RFC PATCH 2/8] mm: Provide page size to pte_alloc_huge() Christophe Leroy
2024-03-25 14:55 ` [RFC PATCH 3/8] mm: Provide pmd to pte_leaf_size() Christophe Leroy
2024-03-25 14:55 ` [RFC PATCH 4/8] mm: Provide mm_struct and address to huge_ptep_get() Christophe Leroy
2024-03-25 16:35 ` Jason Gunthorpe
2024-05-26 9:25 ` Christophe Leroy
2024-03-25 14:55 ` [RFC PATCH 5/8] powerpc/mm: Allow hugepages without hugepd Christophe Leroy
2024-03-25 14:55 ` [RFC PATCH 6/8] powerpc/8xx: Fix size given to set_huge_pte_at() Christophe Leroy
2024-03-25 14:56 ` [RFC PATCH 7/8] powerpc/8xx: Remove support for 8M pages Christophe Leroy
2024-03-25 14:56 ` [RFC PATCH 8/8] powerpc/8xx: Add back support for 8M pages using contiguous PTE entries Christophe Leroy
2024-03-25 16:38 ` [RFC PATCH 0/8] Reimplement huge pages without hugepd on powerpc 8xx Jason Gunthorpe
2024-04-11 16:15 ` Peter Xu
2024-04-12 14:08 ` Christophe Leroy
2024-04-12 14:30 ` Peter Xu
2024-04-15 19:12 ` Christophe Leroy
2024-04-16 10:58 ` Christophe Leroy
2024-04-16 19:40 ` Peter Xu
2024-05-17 14:27 ` Oscar Salvador
2024-05-22 9:08 ` Christophe Leroy
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=20240326150118.GI6245@nvidia.com \
--to=jgg@nvidia.com \
--cc=akpm@linux-foundation.org \
--cc=christophe.leroy@csgroup.eu \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=peterx@redhat.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox