[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v3 5/9] mm: convert PTE table entry to pte
- To: "David Hildenbrand (Arm)" <david@xxxxxxxxxx>
- From: Muhammad Usama Anjum <usama.anjum@xxxxxxx>
- Date: Fri, 2 Oct 2026 15:57:54 +0100
- Arc-authentication-results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 4.158.2.129) smtp.rcpttodomain=intel.com smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=pass (signature was verified) header.d=arm.com; arc=pass (0 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com] dmarc=[1,1,header.from=arm.com])
- Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none
- Arc-message-signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=b3Ah6swvMtWzeWq4SM6XIIUNRxfAhr9a8O2D5gmTT3s=; b=SJkj2wwVG1eZxAbGxGaoOnULq5H0zUO5cZEi6UUAnHwRxQUm9tSidjatutWzcT01MCoFKDv0LZeD70JgVEz06FNAQfMBAcuytqowro9+pE90fjHAUeE/nxDfb1Lu4ssqyST0A9WHGAstNe09+lMTTchaqwhOpGa62nIZ/blfMCfO38/cYPWOFDG90em1q9haR0FGn6MWDKFSLAncgrw5E6Jx540B5nWFZK6kq9HZIeD3l2vmgzziMNy8rZRvcqHR0mYy5A7g+F6eNeeG7rJt/h/ZV/cFs4888JgbvGJkSBKlHERT5cx4Mpkpz0X7kJbyG7DWus0/LWo5TnQTump44g==
- Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=b3Ah6swvMtWzeWq4SM6XIIUNRxfAhr9a8O2D5gmTT3s=; b=mm5FZi7KiBf/IpnKgskI5Q8S4CYFgRFxXU6qHkW1QRE2f/adMulUNbzu58a7+D0WjlxHVTy5AD1wqskKJmJgT/PUuAJ73Vxc7VP4YQW2xYVzY3IjG3/LZ8NJhFSnF6Hc9YSR4Nvx08SL0aYa2GonfzXPlB4w9sXdtZm1ZDk0okUiaB9SkjKtbnBb2pr4x6XANDziWk1KJCTBDZd5JJB/LR+EgHza5b9XtxD8NX/QLrd9j1x++hHIQqeU+WEKUV4hvepEFdD+ujiQ3dROlfvA28nevX2u3BfGBOU+yvijUYCPmfgzoh8WUR5RVCNDE62BrmJvcSz2tzapYtJkAa/uKA==
- Arc-seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass; b=YPvQ0a+7By6XQcEb8hlq+PrcGIxgwJB2znE1fMq4EOM3BkGN5jHzQfynTR1ygeg1QAa0gAzG8zxWPigEcBuVr9awwmmU7k2tB/ZAWF5HP6FSgJB2uachJBJu9G8YhnqakvUlQ4rr+Y2BdOH5kZDeiKWgSZl9i5ZOi8QerpW14Bi1Ps2O0WS3mI6dg0xt85fd2f+E9/M4tYwA+xF9cs4lasA6EBNC7y5ztYMrOkJ/6nrlD8hIMRh6zw2TrUMYqn0lIw6AObAJr5GssHNM1hMhlMbNX8YGzfomzk/XojuaX/VrQbl4DEeBHbxalwbth9zFwXkgozhtptj7fuVYVnbdWg==
- Arc-seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=qf1ioclt6CZLsZI5sbHKKNFSAw7r3xz4tB6DNEdFGmiWnjOu4Kz4KF+DzZeXzE5HJpiiXiCP6cwF4g3zJGcExLuEFgfePTraNXmMR1pzCXtJmUHpOwPmrQAm+xjKTQxdlPsr63yZOIVYgPrIp+NsWOYn2YTFQ60InG0yTZG6A4lUgPwjg5O+O+b1XpX0MMu9w5zvTTsIgMbeRlWzrAKUkNoa5M+hRFB4VhS6U+h0hDS+AC+S/qFszAb/1OMd47g2tdM2zzR4k5nl6dIKwEj6gXb3kjV/dn6j7D/JTjLbsFRCXECWq7fhORVbvwWdee0fUlbZqXGM1uCj2/n6q30rfg==
- Authentication-results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=arm.com header.i="@arm.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"; dkim=pass header.s=selector1 header.d=arm.com header.i="@arm.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
- Authentication-results-original: mx.microsoft.com 1; dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com;
- Cc: usama.anjum@xxxxxxx, linux-kernel@xxxxxxxxxxxxxxx, linux-mm@xxxxxxxxx, linux-fsdevel@xxxxxxxxxxxxxxx, linux-arch@xxxxxxxxxxxxxxx, linux-trace-kernel@xxxxxxxxxxxxxxx, bpf@xxxxxxxxxxxxxxx, linux-perf-users@xxxxxxxxxxxxxxx, damon@xxxxxxxxxxxxxxx, kasan-dev@xxxxxxxxxxxxxxxx, intel-gfx@xxxxxxxxxxxxxxxxxxxxx, dri-devel@xxxxxxxxxxxxxxxxxxxxx, xen-devel@xxxxxxxxxxxxxxxxxxxx, Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>, Lorenzo Stoakes <ljs@xxxxxxxxxx>, "Liam R. Howlett" <liam@xxxxxxxxxxxxx>, Vlastimil Babka <vbabka@xxxxxxxxxx>, Mike Rapoport <rppt@xxxxxxxxxx>, Suren Baghdasaryan <surenb@xxxxxxxxxx>, Michal Hocko <mhocko@xxxxxxxx>, Xu Xin <xu.xin16@xxxxxxxxxx>, Chengming Zhou <chengming.zhou@xxxxxxxxx>, Jann Horn <jannh@xxxxxxxxxx>, Muchun Song <muchun.song@xxxxxxxxx>, Oscar Salvador <osalvador@xxxxxxx>, Pedro Falcato <pfalcato@xxxxxxx>, Arnd Bergmann <arnd@xxxxxxxx>, Will Deacon <will@xxxxxxxxxx>, "Aneesh Kumar K.V" <aneesh.kumar@xxxxxxxxxx>, Nick Piggin <npiggin@xxxxxxxxx>, Peter Zijlstra <peterz@xxxxxxxxxxxxx>, Pasha Tatashin <pasha.tatashin@xxxxxxxxxx>, Rik van Riel <riel@xxxxxxxxxxx>, Harry Yoo <harry@xxxxxxxxxx>, Lance Yang <lance.yang@xxxxxxxxx>, Chris Li <chrisl@xxxxxxxxxx>, Kairui Song <kasong@xxxxxxxxxxx>, Kemeng Shi <shikemeng@xxxxxxxxxxxxxxx>, Nhat Pham <nphamcs@xxxxxxxxx>, Baoquan He <baoquan.he@xxxxxxxxx>, Barry Song <baohua@xxxxxxxxxx>, Youngjun Park <youngjun.park@xxxxxxx>, Uladzislau Rezki <urezki@xxxxxxxxx>, Steven Rostedt <rostedt@xxxxxxxxxxx>, Masami Hiramatsu <mhiramat@xxxxxxxxxx>, Mathieu Desnoyers <mathieu.desnoyers@xxxxxxxxxxxx>, Alexei Starovoitov <ast@xxxxxxxxxx>, Daniel Borkmann <daniel@xxxxxxxxxxxxx>, Andrii Nakryiko <andrii@xxxxxxxxxx>, Eduard Zingerman <eddyz87@xxxxxxxxx>, Kumar Kartikeya Dwivedi <memxor@xxxxxxxxx>, Martin KaFai Lau <martin.lau@xxxxxxxxx>, Song Liu <song@xxxxxxxxxx>, Yonghong Song <yonghong.song@xxxxxxxxx>, Jiri Olsa <jolsa@xxxxxxxxxx>, Emil Tsalapatis <emil@xxxxxxxxxxxxxxx>, Ihor Solodrai <ihor.solodrai@xxxxxxxxx>, Ingo Molnar <mingo@xxxxxxxxxx>, Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>, Namhyung Kim <namhyung@xxxxxxxxxx>, Mark Rutland <mark.rutland@xxxxxxx>, Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx>, Ian Rogers <irogers@xxxxxxxxxx>, Adrian Hunter <adrian.hunter@xxxxxxxxx>, James Clark <james.clark@xxxxxxxxxx>, SJ Park <sj@xxxxxxxxxx>, "Matthew Wilcox (Oracle)" <willy@xxxxxxxxxxxxx>, Jan Kara <jack@xxxxxxx>, Jason Gunthorpe <jgg@xxxxxxxx>, John Hubbard <jhubbard@xxxxxxxxxx>, Peter Xu <peterx@xxxxxxxxxx>, Leon Romanovsky <leon@xxxxxxxxxx>, Zi Yan <ziy@xxxxxxxxxx>, Baolin Wang <baolin.wang@xxxxxxxxxxxxxxxxx>, Nico Pache <nico.pache@xxxxxxxxx>, Ryan Roberts <ryan.roberts@xxxxxxx>, Dev Jain <dev.jain@xxxxxxx>, Usama Arif <usama.arif@xxxxxxxxx>, Kiryl Shutsemau <kas@xxxxxxxxxx>, Andrey Ryabinin <ryabinin.a.a@xxxxxxxxx>, Alexander Potapenko <glider@xxxxxxxxxx>, Andrey Konovalov <andreyknvl@xxxxxxxxx>, Dmitry Vyukov <dvyukov@xxxxxxxxxx>, Vincenzo Frascino <vincenzo.frascino@xxxxxxx>, Miaohe Lin <linmiaohe@xxxxxxxxxx>, Naoya Horiguchi <nao.horiguchi@xxxxxxxxx>, Matthew Brost <matthew.brost@xxxxxxxxx>, Joshua Hahn <joshua.hahnjy@xxxxxxxxx>, Rakie Kim <rakie.kim@xxxxxx>, Byungchul Park <byungchul@xxxxxx>, Gregory Price <gourry@xxxxxxxxxx>, Ying Huang <ying.huang@xxxxxxxxxxxxxxxxx>, Alistair Popple <apopple@xxxxxxxxxx>, Dennis Zhou <dennis@xxxxxxxxxx>, Tejun Heo <tj@xxxxxxxxxx>, Christoph Lameter <cl@xxxxxxxxxx>, Johannes Weiner <hannes@xxxxxxxxxxx>, Qi Zheng <qi.zheng@xxxxxxxxx>, Shakeel Butt <shakeel.butt@xxxxxxxxx>, Axel Rasmussen <axelrasmussen@xxxxxxxxxx>, Yuanchu Xie <yuanchu@xxxxxxxxxx>, Wei Xu <weixugc@xxxxxxxxxx>, Jani Nikula <jani.nikula@xxxxxxxxxxxxxxx>, Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx>, Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx>, Tvrtko Ursulin <tursulin@xxxxxxxxxxx>, David Airlie <airlied@xxxxxxxxx>, Simona Vetter <simona@xxxxxxxx>, Juergen Gross <jgross@xxxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, Oleksandr Tyshchenko <oleksandr_tyshchenko@xxxxxxxx>
- Delivery-date: Fri, 02 Oct 2026 15:33:34 +0000
- List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
- Nodisclaimer: true
On 01/10/2026 12:17 pm, David Hildenbrand (Arm) wrote:
> On 9/22/26 19:12, Muhammad Usama Anjum wrote:
>> The non-MMU stub receives hw_pte_t but returns a software PTE value. It
>> has no attached PTE that requires ptep_get(), so convert only the stored
>> entry through __pte_from_hw().
>>
>> Signed-off-by: Muhammad Usama Anjum <usama.anjum@xxxxxxx>
>> ---
>> Changes since v1:
>> - Explain why the NOMMU stub does not use ptep_get().
>> - Use software PTE value terminology.
>> ---
>> include/linux/hugetlb.h | 3 ++-
>> 1 file changed, 2 insertions(+), 1 deletion(-)
>>
>> diff --git a/include/linux/hugetlb.h b/include/linux/hugetlb.h
>> index 0d2101facaa50..637fc863d3687 100644
>> --- a/include/linux/hugetlb.h
>> +++ b/include/linux/hugetlb.h
>> @@ -1278,7 +1278,8 @@ static inline pte_t huge_ptep_clear_flush(struct
>> vm_area_struct *vma,
>> #ifdef CONFIG_MMU
>> return ptep_get(ptep);
>> #else
>> - return *ptep;
>> + /* No attached PTE that requires ptep_get(). */
>> + return __pte_from_hw(*ptep);
>> #endif
>> }
>>
>>
>
> Okay, that looks quite odd. No NOMMU code should ever be calling this helper.
> I
> can understand that some NOMMU code might, for some odd reason, end up
> including
> hguetlb.h where we have !CONFIG_HUGETLB_PAGE.
>
> But let's see who actually calls huge_ptep_clear_flush():
>
> arch/arm64/mm/hugetlbpage.c: only with CONFIG_HUGETLB_PAGE
> mm/hugetlb.c: only with CONFIG_HUGETLB_PAGE
> mm/rmap.c: only after checking folio_test_hugetlb().
>
> I suspect we can simply do:
>
> diff --git a/include/linux/hugetlb.h b/include/linux/hugetlb.h
> index 80a5a03e9cee..8642c863c1b7 100644
> --- a/include/linux/hugetlb.h
> +++ b/include/linux/hugetlb.h
> @@ -1268,15 +1268,8 @@ static inline void hugetlb_count_sub(long l, struct
> mm_struct *mm)
> pte_t huge_ptep_get(struct mm_struct *mm, unsigned long addr, pte_t *ptep);
> unsigned long huge_pte_dirty(pte_t pte);
>
> -static inline pte_t huge_ptep_clear_flush(struct vm_area_struct *vma,
> - unsigned long addr, pte_t *ptep)
> -{
> -#ifdef CONFIG_MMU
> - return ptep_get(ptep);
> -#else
> - return *ptep;
> -#endif
> -}
> +pte_t huge_ptep_clear_flush(struct vm_area_struct *vma, unsigned long addr,
> + pte_t *ptep);
>
> static inline void set_huge_pte_at(struct mm_struct *mm, unsigned long addr,
> pte_t *ptep, pte_t pte, unsigned long sz)
Thank you for digging into the code to sort this out. I'll confirm
and update this patch in the next version.
--
Thanks,
Usama
|