On Tue, 2025-01-21 at 09:54 +0100, Peter Zijlstra wrote: > On Tue, Jan 21, 2025 at 08:46:04AM +0100, David Hildenbrand wrote: > > On 21.01.25 02:03, Rik van Riel wrote: > > > On Mon, 2025-01-20 at 20:47 +0100, David Hildenbrand wrote: > > > > On 20.01.25 03:40, Rik van Riel wrote: > > > > > Every pv_ops.mmu.tlb_remove_table call ends up calling > > > > > tlb_remove_table. > > > > > > > > > > > > > Indeed, but the !CONFIG_PARAVIRT variant > > > > paravirt_tlb_remove_table() > > > > however calls tlb_remove_page(). > > > > > > Patch 1/12 from this series removes that. > > > > > > After patch 1/12, we always call tlb_remove_table everywhere. > > > > This patch contains the hunk: > > > > -#ifndef CONFIG_PARAVIRT > > -static inline > > -void paravirt_tlb_remove_table(struct mmu_gather *tlb, void > > *table) > > -{ > > - tlb_remove_page(tlb, table); > > -} > > -#endif > > - > > > > That is the source of my confusion. > > Ah, that hunk should probably go to patch 1 > Moved that over for the next version. -- All Rights Reversed.