Re: [PATCH v3 18/34] s390: mm: Add p?d_large() definitions

From: Martin Schwidefsky
Date: Wed Feb 27 2019 - 12:40:29 EST


On Wed, 27 Feb 2019 17:05:52 +0000
Steven Price <steven.price@xxxxxxx> wrote:

> walk_page_range() is going to be allowed to walk page tables other than
> those of user space. For this it needs to know when it has reached a
> 'leaf' entry in the page tables. This information is provided by the
> p?d_large() functions/macros.
>
> For s390, we don't support large pages, so add a stub returning 0.

Well s390 does support 1MB and 2GB large pages, pmd_large() and pud_large()
are non-empty. We do not support 4TB or 8PB large pages though, which
makes the patch itself correct. Just the wording is slightly off.

> CC: Martin Schwidefsky <schwidefsky@xxxxxxxxxx>
> CC: Heiko Carstens <heiko.carstens@xxxxxxxxxx>
> CC: linux-s390@xxxxxxxxxxxxxxx
> Signed-off-by: Steven Price <steven.price@xxxxxxx>
> ---
> arch/s390/include/asm/pgtable.h | 10 ++++++++++
> 1 file changed, 10 insertions(+)
>
> diff --git a/arch/s390/include/asm/pgtable.h b/arch/s390/include/asm/pgtable.h
> index 063732414dfb..9617f1fb69b4 100644
> --- a/arch/s390/include/asm/pgtable.h
> +++ b/arch/s390/include/asm/pgtable.h
> @@ -605,6 +605,11 @@ static inline int pgd_present(pgd_t pgd)
> return (pgd_val(pgd) & _REGION_ENTRY_ORIGIN) != 0UL;
> }
>
> +static inline int pgd_large(pgd_t pgd)
> +{
> + return 0;
> +}
> +
> static inline int pgd_none(pgd_t pgd)
> {
> if (pgd_folded(pgd))
> @@ -645,6 +650,11 @@ static inline int p4d_present(p4d_t p4d)
> return (p4d_val(p4d) & _REGION_ENTRY_ORIGIN) != 0UL;
> }
>
> +static inline int p4d_large(p4d_t p4d)
> +{
> + return 0;
> +}
> +
> static inline int p4d_none(p4d_t p4d)
> {
> if (p4d_folded(p4d))


--
blue skies,
Martin.

"Reality continues to ruin my life." - Calvin.