Re: [PATCH v3 18/34] s390: mm: Add p?d_large() definitions
From: Steven Price
Date: Thu Feb 28 2019 - 06:43:37 EST
On 27/02/2019 17:40, Martin Schwidefsky wrote:
> 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.
Sorry, you're absolutely right - I'll update the commit message for the
next posting.
Thanks,
Steve
>> 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))
>
>