From: Oscar Salvador <osalvador@suse.com>
To: Christophe Leroy <christophe.leroy@csgroup.eu>
Cc: Andrew Morton <akpm@linux-foundation.org>,
Jason Gunthorpe <jgg@nvidia.com>, Peter Xu <peterx@redhat.com>,
Michael Ellerman <mpe@ellerman.id.au>,
Nicholas Piggin <npiggin@gmail.com>,
linux-kernel@vger.kernel.org, linux-mm@kvack.org,
linuxppc-dev@lists.ozlabs.org
Subject: Re: [RFC PATCH v4 12/16] powerpc/e500: Encode hugepage size in PTE bits
Date: Wed, 29 May 2024 10:05:56 +0200 [thread overview]
Message-ID: <Zlbh5Bwsx7WqEEWr@localhost.localdomain> (raw)
In-Reply-To: <10eae3c6815e3aba5f624af92321948e4684c95a.1716815901.git.christophe.leroy@csgroup.eu>
On Mon, May 27, 2024 at 03:30:10PM +0200, Christophe Leroy wrote:
> Use U0-U3 bits to encode hugepage size, more exactly page shift.
>
> As we start using hugepages at shift 21 (2Mbytes), substract 20
> so that it fits into 4 bits. That may change in the future if
> we want to use smaller hugepages.
What other shifts we can have here on e500? PUD_SHIFT?
Could you please spell them out here?
Or even better,
>
> Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
> ---
> arch/powerpc/include/asm/nohash/hugetlb-e500.h | 6 ++++++
> arch/powerpc/include/asm/nohash/pte-e500.h | 3 +++
> 2 files changed, 9 insertions(+)
>
> diff --git a/arch/powerpc/include/asm/nohash/hugetlb-e500.h b/arch/powerpc/include/asm/nohash/hugetlb-e500.h
> index 8f04ad20e040..d8e51a3f8557 100644
> --- a/arch/powerpc/include/asm/nohash/hugetlb-e500.h
> +++ b/arch/powerpc/include/asm/nohash/hugetlb-e500.h
> @@ -42,4 +42,10 @@ static inline int check_and_get_huge_psize(int shift)
> return shift_to_mmu_psize(shift);
> }
>
> +static inline pte_t arch_make_huge_pte(pte_t entry, unsigned int shift, vm_flags_t flags)
> +{
> + return __pte(pte_val(entry) | (_PAGE_U3 * (shift - 20)));
> +}
> +#define arch_make_huge_pte arch_make_huge_pte
> +
> #endif /* _ASM_POWERPC_NOHASH_HUGETLB_E500_H */
> diff --git a/arch/powerpc/include/asm/nohash/pte-e500.h b/arch/powerpc/include/asm/nohash/pte-e500.h
> index 975facc7e38e..091e4bff1fba 100644
> --- a/arch/powerpc/include/asm/nohash/pte-e500.h
> +++ b/arch/powerpc/include/asm/nohash/pte-e500.h
> @@ -46,6 +46,9 @@
> #define _PAGE_NO_CACHE 0x400000 /* I: cache inhibit */
> #define _PAGE_WRITETHRU 0x800000 /* W: cache write-through */
> +#define _PAGE_HSIZE_MSK (_PAGE_U0 | _PAGE_U1 | _PAGE_U2 | _PAGE_U3)
> +#define _PAGE_HSIZE_SHIFT 14
Add a comment in above explaining which P*_SHIFT we need cover with these
4bits.
--
Oscar Salvador
SUSE Labs
next prev parent reply other threads:[~2024-05-29 8:06 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-05-27 13:29 [RFC PATCH v4 00/16] Reimplement huge pages without hugepd on powerpc (8xx, e500, book3s/64) Christophe Leroy
2024-05-27 13:29 ` [RFC PATCH v4 01/16] powerpc/64e: Remove unused IBM HTW code [SQUASHED] Christophe Leroy
2024-05-27 13:30 ` [RFC PATCH v4 02/16] mm: Define __pte_leaf_size() to also take a PMD entry Christophe Leroy
2024-05-27 13:30 ` [RFC PATCH v4 03/16] mm: Provide mm_struct and address to huge_ptep_get() Christophe Leroy
2024-05-28 4:12 ` Oscar Salvador
2024-05-28 5:41 ` Oscar Salvador
2024-05-28 11:02 ` Christophe Leroy
2024-05-27 13:30 ` [RFC PATCH v4 04/16] powerpc/mm: Remove _PAGE_PSIZE Christophe Leroy
2024-05-27 13:30 ` [RFC PATCH v4 05/16] powerpc/mm: Fix __find_linux_pte() on 32 bits with PMD leaf entries Christophe Leroy
2024-05-27 13:30 ` [RFC PATCH v4 06/16] powerpc/mm: Allow hugepages without hugepd Christophe Leroy
2024-05-27 13:30 ` [RFC PATCH v4 07/16] powerpc/8xx: Fix size given to set_huge_pte_at() Christophe Leroy
2024-05-27 13:30 ` [RFC PATCH v4 08/16] powerpc/8xx: Rework support for 8M pages using contiguous PTE entries Christophe Leroy
2024-05-29 8:02 ` Oscar Salvador
2024-05-29 9:39 ` Christophe Leroy
2024-05-27 13:30 ` [RFC PATCH v4 09/16] powerpc/8xx: Simplify struct mmu_psize_def Christophe Leroy
2024-05-27 13:30 ` [RFC PATCH v4 10/16] powerpc/e500: Remove enc and ind fields from " Christophe Leroy
2024-05-27 13:30 ` [RFC PATCH v4 11/16] powerpc/e500: Switch to 64 bits PGD on 85xx (32 bits) Christophe Leroy
2024-05-27 13:30 ` [RFC PATCH v4 12/16] powerpc/e500: Encode hugepage size in PTE bits Christophe Leroy
2024-05-29 8:05 ` Oscar Salvador [this message]
2024-05-29 9:49 ` Christophe Leroy
2024-05-29 10:09 ` Oscar Salvador
2024-05-29 10:14 ` Christophe Leroy
2024-05-29 10:15 ` Oscar Salvador
2024-05-27 13:30 ` [RFC PATCH v4 13/16] powerpc/e500: Use contiguous PMD instead of hugepd Christophe Leroy
2024-05-29 8:49 ` Oscar Salvador
2024-05-29 9:58 ` Christophe Leroy
2024-05-29 10:05 ` Oscar Salvador
2024-05-27 13:30 ` [RFC PATCH v4 14/16] powerpc/64s: Use contiguous PMD/PUD instead of HUGEPD Christophe Leroy
2024-05-29 9:23 ` Oscar Salvador
2024-05-29 10:07 ` Christophe Leroy
2024-05-29 10:11 ` Oscar Salvador
2024-05-27 13:30 ` [RFC PATCH v4 15/16] powerpc/mm: Remove hugepd leftovers Christophe Leroy
2024-05-29 10:12 ` Oscar Salvador
2024-05-27 13:30 ` [RFC PATCH v4 16/16] mm: Remove CONFIG_ARCH_HAS_HUGEPD Christophe Leroy
2024-05-29 10:13 ` Oscar Salvador
2024-05-29 20:49 ` Oscar Salvador
2024-05-29 10:23 ` [RFC PATCH v4 00/16] Reimplement huge pages without hugepd on powerpc (8xx, e500, book3s/64) Oscar Salvador
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=Zlbh5Bwsx7WqEEWr@localhost.localdomain \
--to=osalvador@suse.com \
--cc=akpm@linux-foundation.org \
--cc=christophe.leroy@csgroup.eu \
--cc=jgg@nvidia.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=mpe@ellerman.id.au \
--cc=npiggin@gmail.com \
--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