[PATCH] mm/pgtable: convert pgtable_t to ptdesc pointer
Alex Shi
seakeel at gmail.com
Sun Jan 18 00:13:47 PST 2026
On 2026/1/8 10:23, Alex Shi wrote:
>
>
> On 2026/1/7 22:48, Matthew Wilcox wrote:
>> On Wed, Jan 07, 2026 at 05:28:36PM +0800, Alex Shi wrote:
>>> Right, I will fix this. and sent the 2nd version.
>> No, the patch is stupid and wrong. Don't send a v2. You seem to have a
>> hairtrigger resend, so I'm trying to prevent a v2 being sent instead of
>> sending a patient reply.
>
> Hi Matthew,
>
> I hear you—no v2 will be sent.
> but sorry for a bit confusing, what's your expected fix? is the too
> quick resenting? or the direction to alignment pgtable_t with ptdesc is
> wrong?
Hi Willy, Do you mind to share the detailed concern for this patch?
Thanks
>
> If it's the first. the new change for review address Mike's concern.
> diff --git a/arch/arm/include/asm/pgalloc.h b/arch/arm/include/asm/
> pgalloc.h
> index a17f01235c29..a204c3ac800a 100644
> --- a/arch/arm/include/asm/pgalloc.h
> +++ b/arch/arm/include/asm/pgalloc.h
> @@ -94,13 +94,13 @@ pte_alloc_one_kernel(struct mm_struct *mm)
> static inline pgtable_t
> pte_alloc_one(struct mm_struct *mm)
> {
> - struct page *pte;
> + struct ptdesc *pte;
>
> pte = __pte_alloc_one(mm, GFP_PGTABLE_USER | PGTABLE_HIGHMEM);
> if (!pte)
> return NULL;
> - if (!PageHighMem(pte))
> - clean_pte_table(page_address(pte));
> + if (!PageHighMem(ptdesc_page(pte)))
> + clean_pte_table(ptdesc_address(pte));
> return pte;
> }
>
> @@ -141,7 +141,7 @@ pmd_populate(struct mm_struct *mm, pmd_t *pmdp,
> pgtable_t ptep)
> else
> prot = _PAGE_USER_TABLE;
>
> - __pmd_populate(pmdp, page_to_phys(ptep), prot);
> + __pmd_populate(pmdp, page_to_phys(ptdesc_page(ptep)), prot);
> }
>
> #endif /* CONFIG_MMU */
More information about the linux-riscv
mailing list