From: Yeoreum Yun <yeoreum.yun@arm.com>
To: Dave Hansen <dave.hansen@intel.com>
Cc: Yeoreum Yun <yeoreum.yun@arm.com>,
Russell King <linux@armlinux.org.uk>,
Huacai Chen <chenhuacai@kernel.org>,
WANG Xuerui <kernel@xen0n.name>,
Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
Catalin Marinas <catalin.marinas@arm.com>,
Will Deacon <will@kernel.org>, Arnd Bergmann <arnd@arndb.de>,
Andrew Morton <akpm@linux-foundation.org>,
Kairui Song <kasong@tencent.com>, Qi Zheng <qi.zheng@linux.dev>,
Shakeel Butt <shakeel.butt@linux.dev>,
Barry Song <baohua@kernel.org>,
Axel Rasmussen <axelrasmussen@google.com>,
Yuanchu Xie <yuanchu@google.com>, Wei Xu <weixugc@google.com>,
Johannes Weiner <hannes@cmpxchg.org>,
David Hildenbrand <david@kernel.org>,
Michal Hocko <mhocko@kernel.org>,
Lorenzo Stoakes <ljs@kernel.org>,
Tianrui Zhao <zhaotianrui@loongson.cn>,
Bibo Mao <maobibo@loongson.cn>, Anup Patel <anup@brainfault.org>,
Atish Patra <atish.patra@linux.dev>,
Paul Walmsley <pjw@kernel.org>,
Palmer Dabbelt <palmer@dabbelt.com>,
Albert Ou <aou@eecs.berkeley.edu>,
Alexandre Ghiti <alex@ghiti.fr>,
Dave Hansen <dave.hansen@linux.intel.com>,
Andy Lutomirski <luto@kernel.org>,
Peter Zijlstra <peterz@infradead.org>,
Thomas Gleixner <tglx@kernel.org>, Ingo Molnar <mingo@redhat.com>,
Borislav Petkov <bp@alien8.de>,
x86@kernel.org, "H. Peter Anvin" <hpa@zytor.com>,
"Liam R. Howlett" <liam@infradead.org>,
Vlastimil Babka <vbabka@kernel.org>,
Mike Rapoport <rppt@kernel.org>,
Suren Baghdasaryan <surenb@google.com>,
Michal Hocko <mhocko@suse.com>, Jonas Bonn <jonas@southpole.se>,
Stefan Kristiansson <stefan.kristiansson@saunalahti.fi>,
Stafford Horne <shorne@gmail.com>,
linux-kernel@vger.kernel.org, loongarch@lists.linux.dev,
linux-mips@vger.kernel.org, linux-arch@vger.kernel.org,
linux-mm@kvack.org, kvm@vger.kernel.org,
kvm-riscv@lists.infradead.org, linux-riscv@lists.infradead.org,
linux-openrisc@vger.kernel.org
Subject: Re: [PATCH RFC v2 13/20] x86: mm: carve out the generic compile-time folded pgtable case in effective_prot()
Date: Wed, 22 Jul 2026 22:00:17 +0100 [thread overview]
Message-ID: <amEvYRs7CjhQdQWT@e129823.arm.com> (raw)
In-Reply-To: <33c774f6-2750-4831-8eee-e43dc471da32@intel.com>
On Wed, Jul 22, 2026 at 01:20:39PM -0700, Dave Hansen wrote:
> On 7/22/26 10:37, Yeoreum Yun wrote:
> >> On 7/22/26 08:30, Yeoreum Yun wrote:
> >>> struct pg_state {
> >>> struct ptdump_state ptdump;
> >>> + int first_level;
> >>> int level;
> >>> pgprotval_t current_prot;
> >>> pgprotval_t effective_prot;
> >> There is zero reason on x86 to hold this value in a data structure. It
> >> is 100% determined at boot time or earlier. Pre-5-level-paging it's a
> >> compile-time constant.
> >>
> >> On x86, it never varies per-mm.
> > However, mm_pXd_folded() requires to mm for other architecture like
> > s390. might save the mm instead of first_level and calls the
> > ptdump_pt_level_first() with static inline version would make the
> > constant comparison. So it requires to save *mm* structure in here.
>
> I'm having a really hard time parsing that.
>
> I think you're trying to say that the effective_prot_p*() functions need
> to know the first level but they don't (today) need the mm_struct. If
> they don't get the (calculated) first_level passed in, they need the
> mm_struct instead.
>
> I think you're arguing 'pg_state' needs a ->first_level or a ->mm.
> Having a pg_state->mm doesn't seem bad to me at all.
>
> But, it's also a little bit silly. It would not be rocket science to
> pass an mm_struct down to the effective_prot_p*() functions. It makes a
> whole lot of sense to me for a page table walking function to need
> metadata from the mm_struct to walk correctly.
Yes. I mean to add pg_state->mm like:
diff --git a/arch/x86/mm/dump_pagetables.c b/arch/x86/mm/dump_pagetables.c
index 2afa7a23340e..aaf00f0c6624 100644
--- a/arch/x86/mm/dump_pagetables.c
+++ b/arch/x86/mm/dump_pagetables.c
@@ -38,6 +38,7 @@ struct pg_state {
bool check_wx;
unsigned long wx_pages;
struct seq_file *seq;
+ struct mm_struct *mm;
};
struct addr_marker {
@@ -254,7 +255,7 @@ static void effective_prot(struct ptdump_state *pt_st, int level, u64 val)
pgprotval_t prot = val & PTE_FLAGS_MASK;
pgprotval_t effective;
- if (level > 0) {
+ if (level > pgtable_first_level(st->mm)) {
pgprotval_t higher_prot = st->prot_levels[level - 1];
effective = (higher_prot & prot & (_PAGE_USER | _PAGE_RW)) |
@@ -452,7 +453,8 @@ bool ptdump_walk_pgd_level_core(struct seq_file *m,
.level = -1,
.to_dmesg = dmesg,
.check_wx = checkwx,
- .seq = m
+ .seq = m,
+ .mm = mm,
};
ptdump_walk_pgd(&st.ptdump, mm, pgd);
diff --git a/include/linux/pgtable.h b/include/linux/pgtable.h
index 8c093c119e5a..6e7d0580db99 100644
--- a/include/linux/pgtable.h
+++ b/include/linux/pgtable.h
@@ -2490,4 +2490,15 @@ pgprot_t vm_get_page_prot(vm_flags_t vm_flags) \
} \
EXPORT_SYMBOL(vm_get_page_prot);
+static inline int pgtable_first_level(struct mm_struct *mm)
+{
+ if (mm_pmd_folded(mm))
+ return 3;
+ if (mm_pud_folded(mm))
+ return 2;
+ if (mm_p4d_folded(mm))
+ return 1;
+ return 0;
+}
+
#endif /* _LINUX_PGTABLE_H */
--
Sincerely,
Yeoreum Yun
WARNING: multiple messages have this Message-ID (diff)
From: Yeoreum Yun <yeoreum.yun@arm.com>
To: Dave Hansen <dave.hansen@intel.com>
Cc: Yeoreum Yun <yeoreum.yun@arm.com>,
Russell King <linux@armlinux.org.uk>,
Huacai Chen <chenhuacai@kernel.org>,
WANG Xuerui <kernel@xen0n.name>,
Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
Catalin Marinas <catalin.marinas@arm.com>,
Will Deacon <will@kernel.org>, Arnd Bergmann <arnd@arndb.de>,
Andrew Morton <akpm@linux-foundation.org>,
Kairui Song <kasong@tencent.com>, Qi Zheng <qi.zheng@linux.dev>,
Shakeel Butt <shakeel.butt@linux.dev>,
Barry Song <baohua@kernel.org>,
Axel Rasmussen <axelrasmussen@google.com>,
Yuanchu Xie <yuanchu@google.com>, Wei Xu <weixugc@google.com>,
Johannes Weiner <hannes@cmpxchg.org>,
David Hildenbrand <david@kernel.org>,
Michal Hocko <mhocko@kernel.org>,
Lorenzo Stoakes <ljs@kernel.org>,
Tianrui Zhao <zhaotianrui@loongson.cn>,
Bibo Mao <maobibo@loongson.cn>, Anup Patel <anup@brainfault.org>,
Atish Patra <atish.patra@linux.dev>,
Paul Walmsley <pjw@kernel.org>,
Palmer Dabbelt <palmer@dabbelt.com>,
Albert Ou <aou@eecs.berkeley.edu>,
Alexandre Ghiti <alex@ghiti.fr>,
Dave Hansen <dave.hansen@linux.intel.com>,
Andy Lutomirski <luto@kernel.org>,
Peter Zijlstra <peterz@infradead.org>,
Thomas Gleixner <tglx@kernel.org>, Ingo Molnar <mingo@redhat.com>,
Borislav Petkov <bp@alien8.de>,
x86@kernel.org, "H. Peter Anvin" <hpa@zytor.com>,
"Liam R. Howlett" <liam@infradead.org>,
Vlastimil Babka <vbabka@kernel.org>,
Mike Rapoport <rppt@kernel.org>,
Suren Baghdasaryan <surenb@google.com>,
Michal Hocko <mhocko@suse.com>, Jonas Bonn <jonas@southpole.se>,
Stefan Kristiansson <stefan.kristiansson@saunalahti.fi>,
Stafford Horne <shorne@gmail.com>,
linux-kernel@vger.kernel.org, loongarch@lists.linux.dev,
linux-mips@vger.kernel.org, linux-arch@vger.kernel.org,
linux-mm@kvack.org, kvm@vger.kernel.org,
kvm-riscv@lists.infradead.org, linux-riscv@lists.infradead.org,
linux-openrisc@vger.kernel.org
Subject: Re: [PATCH RFC v2 13/20] x86: mm: carve out the generic compile-time folded pgtable case in effective_prot()
Date: Wed, 22 Jul 2026 22:00:17 +0100 [thread overview]
Message-ID: <amEvYRs7CjhQdQWT@e129823.arm.com> (raw)
In-Reply-To: <33c774f6-2750-4831-8eee-e43dc471da32@intel.com>
On Wed, Jul 22, 2026 at 01:20:39PM -0700, Dave Hansen wrote:
> On 7/22/26 10:37, Yeoreum Yun wrote:
> >> On 7/22/26 08:30, Yeoreum Yun wrote:
> >>> struct pg_state {
> >>> struct ptdump_state ptdump;
> >>> + int first_level;
> >>> int level;
> >>> pgprotval_t current_prot;
> >>> pgprotval_t effective_prot;
> >> There is zero reason on x86 to hold this value in a data structure. It
> >> is 100% determined at boot time or earlier. Pre-5-level-paging it's a
> >> compile-time constant.
> >>
> >> On x86, it never varies per-mm.
> > However, mm_pXd_folded() requires to mm for other architecture like
> > s390. might save the mm instead of first_level and calls the
> > ptdump_pt_level_first() with static inline version would make the
> > constant comparison. So it requires to save *mm* structure in here.
>
> I'm having a really hard time parsing that.
>
> I think you're trying to say that the effective_prot_p*() functions need
> to know the first level but they don't (today) need the mm_struct. If
> they don't get the (calculated) first_level passed in, they need the
> mm_struct instead.
>
> I think you're arguing 'pg_state' needs a ->first_level or a ->mm.
> Having a pg_state->mm doesn't seem bad to me at all.
>
> But, it's also a little bit silly. It would not be rocket science to
> pass an mm_struct down to the effective_prot_p*() functions. It makes a
> whole lot of sense to me for a page table walking function to need
> metadata from the mm_struct to walk correctly.
Yes. I mean to add pg_state->mm like:
diff --git a/arch/x86/mm/dump_pagetables.c b/arch/x86/mm/dump_pagetables.c
index 2afa7a23340e..aaf00f0c6624 100644
--- a/arch/x86/mm/dump_pagetables.c
+++ b/arch/x86/mm/dump_pagetables.c
@@ -38,6 +38,7 @@ struct pg_state {
bool check_wx;
unsigned long wx_pages;
struct seq_file *seq;
+ struct mm_struct *mm;
};
struct addr_marker {
@@ -254,7 +255,7 @@ static void effective_prot(struct ptdump_state *pt_st, int level, u64 val)
pgprotval_t prot = val & PTE_FLAGS_MASK;
pgprotval_t effective;
- if (level > 0) {
+ if (level > pgtable_first_level(st->mm)) {
pgprotval_t higher_prot = st->prot_levels[level - 1];
effective = (higher_prot & prot & (_PAGE_USER | _PAGE_RW)) |
@@ -452,7 +453,8 @@ bool ptdump_walk_pgd_level_core(struct seq_file *m,
.level = -1,
.to_dmesg = dmesg,
.check_wx = checkwx,
- .seq = m
+ .seq = m,
+ .mm = mm,
};
ptdump_walk_pgd(&st.ptdump, mm, pgd);
diff --git a/include/linux/pgtable.h b/include/linux/pgtable.h
index 8c093c119e5a..6e7d0580db99 100644
--- a/include/linux/pgtable.h
+++ b/include/linux/pgtable.h
@@ -2490,4 +2490,15 @@ pgprot_t vm_get_page_prot(vm_flags_t vm_flags) \
} \
EXPORT_SYMBOL(vm_get_page_prot);
+static inline int pgtable_first_level(struct mm_struct *mm)
+{
+ if (mm_pmd_folded(mm))
+ return 3;
+ if (mm_pud_folded(mm))
+ return 2;
+ if (mm_p4d_folded(mm))
+ return 1;
+ return 0;
+}
+
#endif /* _LINUX_PGTABLE_H */
--
Sincerely,
Yeoreum Yun
_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv
WARNING: multiple messages have this Message-ID (diff)
From: Yeoreum Yun <yeoreum.yun@arm.com>
To: Dave Hansen <dave.hansen@intel.com>
Cc: Yeoreum Yun <yeoreum.yun@arm.com>,
Russell King <linux@armlinux.org.uk>,
Huacai Chen <chenhuacai@kernel.org>,
WANG Xuerui <kernel@xen0n.name>,
Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
Catalin Marinas <catalin.marinas@arm.com>,
Will Deacon <will@kernel.org>, Arnd Bergmann <arnd@arndb.de>,
Andrew Morton <akpm@linux-foundation.org>,
Kairui Song <kasong@tencent.com>, Qi Zheng <qi.zheng@linux.dev>,
Shakeel Butt <shakeel.butt@linux.dev>,
Barry Song <baohua@kernel.org>,
Axel Rasmussen <axelrasmussen@google.com>,
Yuanchu Xie <yuanchu@google.com>, Wei Xu <weixugc@google.com>,
Johannes Weiner <hannes@cmpxchg.org>,
David Hildenbrand <david@kernel.org>,
Michal Hocko <mhocko@kernel.org>,
Lorenzo Stoakes <ljs@kernel.org>,
Tianrui Zhao <zhaotianrui@loongson.cn>,
Bibo Mao <maobibo@loongson.cn>, Anup Patel <anup@brainfault.org>,
Atish Patra <atish.patra@linux.dev>,
Paul Walmsley <pjw@kernel.org>,
Palmer Dabbelt <palmer@dabbelt.com>,
Albert Ou <aou@eecs.berkeley.edu>,
Alexandre Ghiti <alex@ghiti.fr>,
Dave Hansen <dave.hansen@linux.intel.com>,
Andy Lutomirski <luto@kernel.org>,
Peter Zijlstra <peterz@infradead.org>,
Thomas Gleixner <tglx@kernel.org>, Ingo Molnar <mingo@redhat.com>,
Borislav Petkov <bp@alien8.de>,
x86@kernel.org, "H. Peter Anvin" <hpa@zytor.com>,
"Liam R. Howlett" <liam@infradead.org>,
Vlastimil Babka <vbabka@kernel.org>,
Mike Rapoport <rppt@kernel.org>,
Suren Baghdasaryan <surenb@google.com>,
Michal Hocko <mhocko@suse.com>, Jonas Bonn <jonas@southpole.se>,
Stefan Kristiansson <stefan.kristiansson@saunalahti.fi>,
Stafford Horne <shorne@gmail.com>,
linux-kernel@vger.kernel.org, loongarch@lists.linux.dev,
linux-mips@vger.kernel.org, linux-arch@vger.kernel.org,
linux-mm@kvack.org, kvm@vger.kernel.org,
kvm-riscv@lists.infradead.org, linux-riscv@lists.infradead.org,
linux-openrisc@vger.kernel.org
Subject: Re: [PATCH RFC v2 13/20] x86: mm: carve out the generic compile-time folded pgtable case in effective_prot()
Date: Wed, 22 Jul 2026 22:00:17 +0100 [thread overview]
Message-ID: <amEvYRs7CjhQdQWT@e129823.arm.com> (raw)
In-Reply-To: <33c774f6-2750-4831-8eee-e43dc471da32@intel.com>
On Wed, Jul 22, 2026 at 01:20:39PM -0700, Dave Hansen wrote:
> On 7/22/26 10:37, Yeoreum Yun wrote:
> >> On 7/22/26 08:30, Yeoreum Yun wrote:
> >>> struct pg_state {
> >>> struct ptdump_state ptdump;
> >>> + int first_level;
> >>> int level;
> >>> pgprotval_t current_prot;
> >>> pgprotval_t effective_prot;
> >> There is zero reason on x86 to hold this value in a data structure. It
> >> is 100% determined at boot time or earlier. Pre-5-level-paging it's a
> >> compile-time constant.
> >>
> >> On x86, it never varies per-mm.
> > However, mm_pXd_folded() requires to mm for other architecture like
> > s390. might save the mm instead of first_level and calls the
> > ptdump_pt_level_first() with static inline version would make the
> > constant comparison. So it requires to save *mm* structure in here.
>
> I'm having a really hard time parsing that.
>
> I think you're trying to say that the effective_prot_p*() functions need
> to know the first level but they don't (today) need the mm_struct. If
> they don't get the (calculated) first_level passed in, they need the
> mm_struct instead.
>
> I think you're arguing 'pg_state' needs a ->first_level or a ->mm.
> Having a pg_state->mm doesn't seem bad to me at all.
>
> But, it's also a little bit silly. It would not be rocket science to
> pass an mm_struct down to the effective_prot_p*() functions. It makes a
> whole lot of sense to me for a page table walking function to need
> metadata from the mm_struct to walk correctly.
Yes. I mean to add pg_state->mm like:
diff --git a/arch/x86/mm/dump_pagetables.c b/arch/x86/mm/dump_pagetables.c
index 2afa7a23340e..aaf00f0c6624 100644
--- a/arch/x86/mm/dump_pagetables.c
+++ b/arch/x86/mm/dump_pagetables.c
@@ -38,6 +38,7 @@ struct pg_state {
bool check_wx;
unsigned long wx_pages;
struct seq_file *seq;
+ struct mm_struct *mm;
};
struct addr_marker {
@@ -254,7 +255,7 @@ static void effective_prot(struct ptdump_state *pt_st, int level, u64 val)
pgprotval_t prot = val & PTE_FLAGS_MASK;
pgprotval_t effective;
- if (level > 0) {
+ if (level > pgtable_first_level(st->mm)) {
pgprotval_t higher_prot = st->prot_levels[level - 1];
effective = (higher_prot & prot & (_PAGE_USER | _PAGE_RW)) |
@@ -452,7 +453,8 @@ bool ptdump_walk_pgd_level_core(struct seq_file *m,
.level = -1,
.to_dmesg = dmesg,
.check_wx = checkwx,
- .seq = m
+ .seq = m,
+ .mm = mm,
};
ptdump_walk_pgd(&st.ptdump, mm, pgd);
diff --git a/include/linux/pgtable.h b/include/linux/pgtable.h
index 8c093c119e5a..6e7d0580db99 100644
--- a/include/linux/pgtable.h
+++ b/include/linux/pgtable.h
@@ -2490,4 +2490,15 @@ pgprot_t vm_get_page_prot(vm_flags_t vm_flags) \
} \
EXPORT_SYMBOL(vm_get_page_prot);
+static inline int pgtable_first_level(struct mm_struct *mm)
+{
+ if (mm_pmd_folded(mm))
+ return 3;
+ if (mm_pud_folded(mm))
+ return 2;
+ if (mm_p4d_folded(mm))
+ return 1;
+ return 0;
+}
+
#endif /* _LINUX_PGTABLE_H */
--
Sincerely,
Yeoreum Yun
--
kvm-riscv mailing list
kvm-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kvm-riscv
next prev parent reply other threads:[~2026-07-22 21:00 UTC|newest]
Thread overview: 124+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-22 15:30 [PATCH RFC v2 00/20] mm: optimize unnecessary loads due to ptep_get() and friends out Yeoreum Yun
2026-07-22 15:30 ` Yeoreum Yun
2026-07-22 15:30 ` Yeoreum Yun
2026-07-22 15:30 ` [PATCH RFC v2 01/20] ARM: mm: make nommu pgd_t a scalar Yeoreum Yun
2026-07-22 15:30 ` Yeoreum Yun
2026-07-22 15:30 ` Yeoreum Yun
2026-07-22 15:30 ` [PATCH RFC v2 02/20] ARM: mm: make 2-level " Yeoreum Yun
2026-07-22 15:30 ` Yeoreum Yun
2026-07-22 15:30 ` Yeoreum Yun
2026-07-22 15:30 ` [PATCH RFC v2 03/20] ARM: mm: remove custom pgdp_get() Yeoreum Yun
2026-07-22 15:30 ` Yeoreum Yun
2026-07-22 15:30 ` Yeoreum Yun
2026-07-22 15:30 ` [PATCH RFC v2 04/20] LoongArch: mm: define pud_leaf() only when PUD exists Yeoreum Yun
2026-07-22 15:30 ` Yeoreum Yun
2026-07-22 15:30 ` Yeoreum Yun
2026-07-22 15:30 ` [PATCH RFC v2 05/20] MIPS: " Yeoreum Yun
2026-07-22 15:30 ` Yeoreum Yun
2026-07-22 15:30 ` Yeoreum Yun
2026-07-22 15:30 ` [PATCH RFC v2 06/20] mm/pgtable: define (pgd|p4d|pud)_leaf() for folded page tables Yeoreum Yun
2026-07-22 15:30 ` Yeoreum Yun
2026-07-22 15:30 ` Yeoreum Yun
2026-07-22 15:51 ` sashiko-bot
2026-07-22 15:30 ` [PATCH RFC v2 07/20] mm/pgtable: define (pgd|p4d|pud)_offset_lockless() " Yeoreum Yun
2026-07-22 15:30 ` Yeoreum Yun
2026-07-22 15:30 ` Yeoreum Yun
2026-07-22 15:58 ` sashiko-bot
2026-07-22 19:25 ` Yeoreum Yun
2026-07-22 15:30 ` [PATCH RFC v2 08/20] mm: vmscan: remove stack copy address of pud pass in wallk_pud_range() Yeoreum Yun
2026-07-22 15:30 ` Yeoreum Yun
2026-07-22 15:30 ` Yeoreum Yun
2026-07-22 15:56 ` sashiko-bot
2026-07-22 19:31 ` Yeoreum Yun
2026-07-22 15:30 ` [PATCH RFC v2 09/20] loongarch: kvm: remove stack copy address of pXd in pXd_offset() Yeoreum Yun
2026-07-22 15:30 ` Yeoreum Yun
2026-07-22 15:30 ` Yeoreum Yun
2026-07-22 15:53 ` sashiko-bot
2026-07-22 19:51 ` Yeoreum Yun
2026-07-22 15:30 ` [PATCH RFC v2 10/20] riscv: " Yeoreum Yun
2026-07-22 15:30 ` Yeoreum Yun
2026-07-22 15:30 ` Yeoreum Yun
2026-07-22 15:30 ` [PATCH RFC v2 11/20] riscv: mm: use proper set_pXd() for generic compile-time folded patable in vmalloc_fault() Yeoreum Yun
2026-07-22 15:30 ` Yeoreum Yun
2026-07-22 15:30 ` Yeoreum Yun
2026-07-22 15:30 ` [PATCH RFC v2 12/20] x86: mm: define pudp_set_access_flags() when CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE_PUD is enabled only Yeoreum Yun
2026-07-22 15:30 ` Yeoreum Yun
2026-07-22 15:30 ` Yeoreum Yun
2026-07-22 16:02 ` Dave Hansen
2026-07-22 16:02 ` Dave Hansen
2026-07-22 16:02 ` Dave Hansen
2026-07-22 17:27 ` Yeoreum Yun
2026-07-22 17:27 ` Yeoreum Yun
2026-07-22 17:27 ` Yeoreum Yun
2026-07-22 15:30 ` [PATCH RFC v2 13/20] x86: mm: carve out the generic compile-time folded pgtable case in effective_prot() Yeoreum Yun
2026-07-22 15:30 ` Yeoreum Yun
2026-07-22 15:30 ` Yeoreum Yun
2026-07-22 16:07 ` sashiko-bot
2026-07-22 16:23 ` Yeoreum Yun
2026-07-22 16:11 ` Dave Hansen
2026-07-22 16:11 ` Dave Hansen
2026-07-22 16:11 ` Dave Hansen
2026-07-22 16:28 ` Yeoreum Yun
2026-07-22 16:28 ` Yeoreum Yun
2026-07-22 16:28 ` Yeoreum Yun
2026-07-22 17:37 ` Yeoreum Yun
2026-07-22 17:37 ` Yeoreum Yun
2026-07-22 17:37 ` Yeoreum Yun
2026-07-22 20:20 ` Dave Hansen
2026-07-22 20:20 ` Dave Hansen
2026-07-22 20:20 ` Dave Hansen
2026-07-22 21:00 ` Yeoreum Yun [this message]
2026-07-22 21:00 ` Yeoreum Yun
2026-07-22 21:00 ` Yeoreum Yun
2026-07-22 15:30 ` [PATCH RFC v2 14/20] x86: mm: skip pud setup when using generic compile-time folded pagetable Yeoreum Yun
2026-07-22 15:30 ` Yeoreum Yun
2026-07-22 15:30 ` Yeoreum Yun
2026-07-22 16:18 ` sashiko-bot
2026-07-22 19:08 ` Yeoreum Yun
2026-07-22 16:33 ` Dave Hansen
2026-07-22 16:33 ` Dave Hansen
2026-07-22 16:33 ` Dave Hansen
2026-07-22 17:18 ` Yeoreum Yun
2026-07-22 17:18 ` Yeoreum Yun
2026-07-22 17:18 ` Yeoreum Yun
2026-07-22 20:02 ` Dave Hansen
2026-07-22 20:02 ` Dave Hansen
2026-07-22 20:02 ` Dave Hansen
2026-07-22 20:18 ` Yeoreum Yun
2026-07-22 20:18 ` Yeoreum Yun
2026-07-22 20:18 ` Yeoreum Yun
2026-07-22 20:22 ` Dave Hansen
2026-07-22 20:22 ` Dave Hansen
2026-07-22 20:22 ` Dave Hansen
2026-07-22 20:28 ` H. Peter Anvin
2026-07-22 20:28 ` H. Peter Anvin
2026-07-22 20:28 ` H. Peter Anvin
2026-07-22 20:40 ` Yeoreum Yun
2026-07-22 20:40 ` Yeoreum Yun
2026-07-22 20:40 ` Yeoreum Yun
2026-07-22 15:30 ` [PATCH RFC v2 15/20] mm/pgtable: optimize pmdp_get() and friends for folded pagetable levels Yeoreum Yun
2026-07-22 15:30 ` Yeoreum Yun
2026-07-22 15:30 ` Yeoreum Yun
2026-07-22 16:15 ` sashiko-bot
2026-07-22 19:44 ` Yeoreum Yun
2026-07-22 15:30 ` [PATCH RFC v2 16/20] mm/pgtable: catch abuse of folded dummy pgd_t/p4d_t/pud_t Yeoreum Yun
2026-07-22 15:30 ` Yeoreum Yun
2026-07-22 15:30 ` Yeoreum Yun
2026-07-22 15:30 ` [PATCH RFC v2 17/20] mm/pgtable: disallow calling (pgd|p4d|pud)_page, pgd_page_vaddr() and (p4d|pud)_pgtable with dummy Yeoreum Yun
2026-07-22 15:30 ` Yeoreum Yun
2026-07-22 15:30 ` Yeoreum Yun
2026-07-22 15:30 ` [PATCH RFC v2 18/20] mm/pgtable: disallow calling folded set_pgd/set_p4d/set_pud " Yeoreum Yun
2026-07-22 15:30 ` Yeoreum Yun
2026-07-22 15:30 ` Yeoreum Yun
2026-07-22 15:30 ` [PATCH RFC v2 19/20] openrisc/pgtable: drop __pmd_offset() Yeoreum Yun
2026-07-22 15:30 ` Yeoreum Yun
2026-07-22 15:30 ` Yeoreum Yun
2026-07-22 15:30 ` [PATCH RFC v2 20/20] arm64: pgtable: convert pte_present() from macro to static inline Yeoreum Yun
2026-07-22 15:30 ` Yeoreum Yun
2026-07-22 15:30 ` Yeoreum Yun
2026-07-22 16:40 ` [PATCH RFC v2 00/20] mm: optimize unnecessary loads due to ptep_get() and friends out Dave Hansen
2026-07-22 16:40 ` Dave Hansen
2026-07-22 16:40 ` Dave Hansen
2026-07-22 17:30 ` Yeoreum Yun
2026-07-22 17:30 ` Yeoreum Yun
2026-07-22 17:30 ` Yeoreum Yun
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=amEvYRs7CjhQdQWT@e129823.arm.com \
--to=yeoreum.yun@arm.com \
--cc=akpm@linux-foundation.org \
--cc=alex@ghiti.fr \
--cc=anup@brainfault.org \
--cc=aou@eecs.berkeley.edu \
--cc=arnd@arndb.de \
--cc=atish.patra@linux.dev \
--cc=axelrasmussen@google.com \
--cc=baohua@kernel.org \
--cc=bp@alien8.de \
--cc=catalin.marinas@arm.com \
--cc=chenhuacai@kernel.org \
--cc=dave.hansen@intel.com \
--cc=dave.hansen@linux.intel.com \
--cc=david@kernel.org \
--cc=hannes@cmpxchg.org \
--cc=hpa@zytor.com \
--cc=jonas@southpole.se \
--cc=kasong@tencent.com \
--cc=kernel@xen0n.name \
--cc=kvm-riscv@lists.infradead.org \
--cc=kvm@vger.kernel.org \
--cc=liam@infradead.org \
--cc=linux-arch@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mips@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=linux-openrisc@vger.kernel.org \
--cc=linux-riscv@lists.infradead.org \
--cc=linux@armlinux.org.uk \
--cc=ljs@kernel.org \
--cc=loongarch@lists.linux.dev \
--cc=luto@kernel.org \
--cc=maobibo@loongson.cn \
--cc=mhocko@kernel.org \
--cc=mhocko@suse.com \
--cc=mingo@redhat.com \
--cc=palmer@dabbelt.com \
--cc=peterz@infradead.org \
--cc=pjw@kernel.org \
--cc=qi.zheng@linux.dev \
--cc=rppt@kernel.org \
--cc=shakeel.butt@linux.dev \
--cc=shorne@gmail.com \
--cc=stefan.kristiansson@saunalahti.fi \
--cc=surenb@google.com \
--cc=tglx@kernel.org \
--cc=tsbogend@alpha.franken.de \
--cc=vbabka@kernel.org \
--cc=weixugc@google.com \
--cc=will@kernel.org \
--cc=x86@kernel.org \
--cc=yuanchu@google.com \
--cc=zhaotianrui@loongson.cn \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.