[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <fa37f15c-e5a8-4502-ba82-c077ee7b8e5f@lucifer.local>
Date: Thu, 15 Jan 2026 17:22:30 +0000
From: Lorenzo Stoakes <lorenzo.stoakes@...cle.com>
To: "David Hildenbrand (Red Hat)" <david@...nel.org>
Cc: linux-kernel@...r.kernel.org, linux-arch@...r.kernel.org,
linux-mm@...ck.org, Will Deacon <will@...nel.org>,
"Aneesh Kumar K.V" <aneesh.kumar@...nel.org>,
Andrew Morton <akpm@...ux-foundation.org>,
Nick Piggin <npiggin@...il.com>, Peter Zijlstra <peterz@...radead.org>,
Arnd Bergmann <arnd@...db.de>, Muchun Song <muchun.song@...ux.dev>,
Oscar Salvador <osalvador@...e.de>,
"Liam R. Howlett" <Liam.Howlett@...cle.com>,
Vlastimil Babka <vbabka@...e.cz>, Jann Horn <jannh@...gle.com>,
Pedro Falcato <pfalcato@...e.de>, Rik van Riel <riel@...riel.com>,
Harry Yoo <harry.yoo@...cle.com>,
Laurence Oberman <loberman@...hat.com>,
Prakash Sangappa <prakash.sangappa@...cle.com>,
Nadav Amit <nadav.amit@...il.com>
Subject: Re: [PATCH RESEND v3 0/4] mm/hugetlb: fixes for PMD table sharing
(incl. using mmu_gather)
Hi,
Any update on this series? It's a hotfix series and I don't see it queued
up anywhere in either mm-hotfixes-unstable or mm-hotfixes-stable, this
issue is causing ongoing problems for a lot of people, is there any reason
it's being delayed?
It's received extensive approval and testing, so should be GTG right?
Andrew, David?
Thanks, Lorenzo
On Tue, Dec 23, 2025 at 10:40:33PM +0100, David Hildenbrand (Red Hat) wrote:
> One functional fix, one performance regression fix, and two related
> comment fixes.
>
> I cleaned up my prototype I recently shared [1] for the performance fix,
> deferring most of the cleanups I had in the prototype to a later point.
> While doing that I identified the other things.
>
> The goal of this patch set is to be backported to stable trees "fairly"
> easily. At least patch #1 and #4.
>
> Patch #1 fixes hugetlb_pmd_shared() not detecting any sharing
> Patch #2 + #3 are simple comment fixes that patch #4 interacts with.
> Patch #4 is a fix for the reported performance regression due to excessive
> IPI broadcasts during fork()+exit().
>
> The last patch is all about TLB flushes, IPIs and mmu_gather.
> Read: complicated
>
> I added as much comments + description that I possibly could, and I am
> hoping for review from Jann.
>
> There are plenty of cleanups in the future to be had + one reasonable
> optimization on x86. But that's all out of scope for this series.
>
> Compile tested on plenty of architectures.
>
> Runtime tested, with a focus on fixing the performance regression using
> the original reproducer [2] on x86.
>
> [1] https://lore.kernel.org/all/8cab934d-4a56-44aa-b641-bfd7e23bd673@kernel.org/
> [2] https://lore.kernel.org/all/8cab934d-4a56-44aa-b641-bfd7e23bd673@kernel.org/
>
> --
>
> v2 -> v3:
> * Rebased to 6.19-rc2 and retested on x86
> * Changes on last patch:
> * Introduce and use tlb_gather_mmu_vma() for properly setting up mmu_gather
> for hugetlb -- thanks to Harry for pointing me once again at the nasty
> hugetlb integration in mmu_gather
> * Move tlb_remove_huge_tlb_entry() after move_huge_pte()
> * For consistency, always call tlb_gather_mmu_vma() after
> flush_cache_range()
> * Don't pass mmu_gather to hugetlb_change_protection(), simply use
> a local one for now. (avoids messing with tlb_start_vma() /
> tlb_start_end())
> * Dropped Lorenzo's RB due to the changes
>
> v1 -> v2:
> * Picked RB's/ACK's, hopefully I didn't miss any
> * Added the initialization of fully_unshared_tables in __tlb_gather_mmu()
> (Thanks Nadav!)
> * Refined some comments based on Lorenzo's feedback.
>
> Cc: Will Deacon <will@...nel.org>
> Cc: "Aneesh Kumar K.V" <aneesh.kumar@...nel.org>
> Cc: Andrew Morton <akpm@...ux-foundation.org>
> Cc: Nick Piggin <npiggin@...il.com>
> Cc: Peter Zijlstra <peterz@...radead.org>
> Cc: Arnd Bergmann <arnd@...db.de>
> Cc: Muchun Song <muchun.song@...ux.dev>
> Cc: Oscar Salvador <osalvador@...e.de>
> Cc: "Liam R. Howlett" <Liam.Howlett@...cle.com>
> Cc: Lorenzo Stoakes <lorenzo.stoakes@...cle.com>
> Cc: Vlastimil Babka <vbabka@...e.cz>
> Cc: Jann Horn <jannh@...gle.com>
> Cc: Pedro Falcato <pfalcato@...e.de>
> Cc: Rik van Riel <riel@...riel.com>
> Cc: Harry Yoo <harry.yoo@...cle.com>
> Cc: Uschakow, Stanislav" <suschako@...zon.de>
> Cc: Laurence Oberman <loberman@...hat.com>
> Cc: Prakash Sangappa <prakash.sangappa@...cle.com>
> Cc: Nadav Amit <nadav.amit@...il.com>
>
> David Hildenbrand (Red Hat) (4):
> mm/hugetlb: fix hugetlb_pmd_shared()
> mm/hugetlb: fix two comments related to huge_pmd_unshare()
> mm/rmap: fix two comments related to huge_pmd_unshare()
> mm/hugetlb: fix excessive IPI broadcasts when unsharing PMD tables
> using mmu_gather
>
> include/asm-generic/tlb.h | 77 +++++++++++++++++++++-
> include/linux/hugetlb.h | 17 +++--
> include/linux/mm_types.h | 1 +
> mm/hugetlb.c | 131 +++++++++++++++++++++-----------------
> mm/mmu_gather.c | 33 ++++++++++
> mm/rmap.c | 45 ++++++-------
> 6 files changed, 213 insertions(+), 91 deletions(-)
>
>
> base-commit: b927546677c876e26eba308550207c2ddf812a43
> --
> 2.52.0
>
Powered by blists - more mailing lists