Re: [PATCH RFC 01/11] mm: introduce hw_pte_t for PTE table storage
Muhammad Usama Anjum <[email protected]> Fri, 31 Jul 2026 11:19:32 +0100
| Newsgroups | org.freedesktop.lists.intel-gfx,dev.linux.lists.damon,org.freedesktop.lists.dri-devel,org.kernel.vger.bpf,org.kernel.vger.linux-arch,org.kernel.vger.linux-fsdevel,org.kernel.vger.linux-kernel,org.kernel.vger.linux-parisc,org.kernel.vger.linux-perf-users,org.kernel.vger.linux-trace-kernel,org.kvack.linux-mm,org.xenproject.lists.xen-devel |
|---|---|
| Message-ID | <[email protected]> |
On 31/07/2026 6:49 am, Anshuman Khandual wrote: > On Mon, Jul 27, 2026 at 05:46:52PM +0100, Muhammad Usama Anjum wrote: >> pte_t is used both for logical PTE values and for entries stored in a PTE >> table, so pte_t * does not distinguish a pointer to a copied value from a >> pointer to table storage. > > Should we rather call them as "Linux PTE" and "HW PTE" instead ? > > Some like "Logical PTE" does not really sound very clear on what it represents. Yeah, I should make distinction more visible in the cover letter. > >> >> Introduce hw_pte_t as the generic name for a PTE table element. Define it >> as an alias of pte_t by default so architectures retain their existing >> representation and behavior until they opt in to a distinct storage type. > > Makes sense. > >> >> Include asm/page.h so pte_t is defined before the generic alias. >> >> Signed-off-by: Muhammad Usama Anjum <[email protected]> >> --- >> MAINTAINERS | 1 + >> include/linux/pgtable_types.h | 11 +++++++++++ >> 2 files changed, 12 insertions(+) >> create mode 100644 include/linux/pgtable_types.h >> >> diff --git a/MAINTAINERS b/MAINTAINERS >> index 15dd00c7ffec5..78aac05949829 100644 >> --- a/MAINTAINERS >> +++ b/MAINTAINERS >> @@ -16981,6 +16981,7 @@ F: include/linux/mmu_notifier.h >> F: include/linux/pagewalk.h >> F: include/linux/pgalloc.h >> F: include/linux/pgtable.h >> +F: include/linux/pgtable_types.h > > s/pgtable_types.h/pgtable_hw_types.h ? I prefer shorter file names. > >> F: include/linux/ptdump.h >> F: include/linux/vmpressure.h >> F: include/linux/vmstat.h >> diff --git a/include/linux/pgtable_types.h b/include/linux/pgtable_types.h >> new file mode 100644 >> index 0000000000000..ed5dba42a4f8c >> --- /dev/null >> +++ b/include/linux/pgtable_types.h >> @@ -0,0 +1,11 @@ >> +/* SPDX-License-Identifier: GPL-2.0 */ >> +#ifndef _LINUX_PGTABLE_TYPES_H >> +#define _LINUX_PGTABLE_TYPES_H >> + >> +#include <asm/page.h> >> + >> +#ifndef __HAVE_ARCH_HW_PTE_T > > __HAVE_ARCH_HW_PTE_T macro is a better approach here or a config ARCH_HAS_HW_PTE_T > based selective platform subscription should be introduced instead ? Moving to CONFIG_ARCH_HAS_PTE_T from the next version as suggested here [1]. [1] https://lore.kernel.org/all/[email protected] -- Thanks, Usama