<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in tlb.h</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>02d9e1a2 - mm: pgtable: remove tlb_remove_page_ptdesc()</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/include/asm-generic/tlb.h#02d9e1a2</link>
        <description>mm: pgtable: remove tlb_remove_page_ptdesc()The tlb_remove_ptdesc()/tlb_remove_table() is specially designed for pagetable pages, and now all architectures have been converted to use it toremove page table pages.  So let&apos;s remove tlb_remove_page_ptdesc(), itcurrently has no users and should not be used for page table pages.Link: https://lkml.kernel.org/r/3df04c8494339073b71be4acb2d92e108ecd1b60.1740454179.git.zhengqi.arch@bytedance.comSigned-off-by: Qi Zheng &lt;zhengqi.arch@bytedance.com&gt;Suggested-by: Peter Zijlstra (Intel) &lt;peterz@infradead.org&gt;Reviewed-by: Kevin Brodsky &lt;kevin.brodsky@arm.com&gt;Cc: Alexandre Ghiti &lt;alexghiti@rivosinc.com&gt;Cc: &quot;Aneesh Kumar K.V&quot; &lt;aneesh.kumar@kernel.org&gt;Cc: Arnd Bergmann &lt;arnd@arndb.de&gt;Cc: Dave Hansen &lt;dave.hansen@linux.intel.com&gt;Cc: David Hildenbrand &lt;david@redhat.com&gt;Cc: Hugh Dickens &lt;hughd@google.com&gt;Cc: Jann Horn &lt;jannh@google.com&gt;Cc: Matthew Wilcow (Oracle) &lt;willy@infradead.org&gt;Cc: &quot;Mike Rapoport (IBM)&quot; &lt;rppt@kernel.org&gt;Cc: Muchun Song &lt;muchun.song@linux.dev&gt;Cc: Nicholas Piggin &lt;npiggin@gmail.com&gt;Cc: Rik van Riel &lt;riel@surriel.com&gt;Cc: Vishal Moola (Oracle) &lt;vishal.moola@gmail.com&gt;Cc: Will Deacon &lt;will@kernel.org&gt;Cc: Yu Zhao &lt;yuzhao@google.com&gt;Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;

            List of files:
            /linux-6.15/include/asm-generic/tlb.h</description>
        <pubDate>Tue, 25 Feb 2025 03:45:56 +0000</pubDate>
        <dc:creator>Qi Zheng &lt;zhengqi.arch@bytedance.com&gt;</dc:creator>
    </item>
<item>
        <title>1a03c275 - mm: pgtable: change pt parameter of tlb_remove_ptdesc() to struct ptdesc*</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/include/asm-generic/tlb.h#1a03c275</link>
        <description>mm: pgtable: change pt parameter of tlb_remove_ptdesc() to struct ptdesc*All callers of tlb_remove_ptdesc() pass it a pointer of struct ptdesc, solet&apos;s change the pt parameter from void * to struct ptdesc * to perform atype safety check.Link: https://lkml.kernel.org/r/60bb44299cf2d731df6592e446e7f694054d0dbe.1740454179.git.zhengqi.arch@bytedance.comSigned-off-by: Qi Zheng &lt;zhengqi.arch@bytedance.com&gt;Originally-by: Peter Zijlstra (Intel) &lt;peterz@infradead.org&gt;Reviewed-by: Kevin Brodsky &lt;kevin.brodsky@arm.com&gt;Cc: Alexandre Ghiti &lt;alexghiti@rivosinc.com&gt;Cc: &quot;Aneesh Kumar K.V&quot; &lt;aneesh.kumar@kernel.org&gt;Cc: Arnd Bergmann &lt;arnd@arndb.de&gt;Cc: Dave Hansen &lt;dave.hansen@linux.intel.com&gt;Cc: David Hildenbrand &lt;david@redhat.com&gt;Cc: Hugh Dickens &lt;hughd@google.com&gt;Cc: Jann Horn &lt;jannh@google.com&gt;Cc: Matthew Wilcow (Oracle) &lt;willy@infradead.org&gt;Cc: &quot;Mike Rapoport (IBM)&quot; &lt;rppt@kernel.org&gt;Cc: Muchun Song &lt;muchun.song@linux.dev&gt;Cc: Nicholas Piggin &lt;npiggin@gmail.com&gt;Cc: Rik van Riel &lt;riel@surriel.com&gt;Cc: Vishal Moola (Oracle) &lt;vishal.moola@gmail.com&gt;Cc: Will Deacon &lt;will@kernel.org&gt;Cc: Yu Zhao &lt;yuzhao@google.com&gt;Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;

            List of files:
            /linux-6.15/include/asm-generic/tlb.h</description>
        <pubDate>Tue, 25 Feb 2025 03:45:52 +0000</pubDate>
        <dc:creator>Qi Zheng &lt;zhengqi.arch@bytedance.com&gt;</dc:creator>
    </item>
<item>
        <title>f21bb37a - mm: pgtable: make generic tlb_remove_table() use struct ptdesc</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/include/asm-generic/tlb.h#f21bb37a</link>
        <description>mm: pgtable: make generic tlb_remove_table() use struct ptdescPatch series &quot;remove tlb_remove_page_ptdesc()&quot;, v2.As suggested by Peter Zijlstra below [1], this series aims to removetlb_remove_page_ptdesc().: Fundamentally tlb_remove_page() is about removing *pages* as from a PTE,: there should not be a page-table anywhere near here *ever*.:: Yes, some architectures use tlb_remove_page() for page-tables too, but: that is more or less an implementation detail that can be fixed.After this series, all architectures use tlb_remove_table() ortlb_remove_ptdesc() to remove the page table pages.  In the future, onceall architectures using tlb_remove_table() have also converted to usingstruct ptdesc (eg.  powerpc), it may be possible to use onlytlb_remove_ptdesc().[1] https://lore.kernel.org/linux-mm/20250103111457.GC22934@noisy.programming.kicks-ass.net/This patch (of 6):Now only arm will call tlb_remove_ptdesc()/tlb_remove_table() whenCONFIG_MMU_GATHER_TABLE_FREE is disabled.  In this case, the type of thetable parameter is actually struct ptdesc * instead of struct page *.Since struct ptdesc still overlaps with struct page and has not beenseparated from it, forcing the table parameter to struct page * will notcause any problems at this time.  But this is definitely incorrect andneeds to be fixed.  So just like the generic __tlb_remove_table(), letgeneric tlb_remove_table() use struct ptdesc by default whenCONFIG_MMU_GATHER_TABLE_FREE is disabled.Link: https://lkml.kernel.org/r/cover.1740454179.git.zhengqi.arch@bytedance.comLink: https://lkml.kernel.org/r/5be8c3ab7bd68510bf0db4cf84010f4dfe372917.1740454179.git.zhengqi.arch@bytedance.comSigned-off-by: Qi Zheng &lt;zhengqi.arch@bytedance.com&gt;Reviewed-by: Kevin Brodsky &lt;kevin.brodsky@arm.com&gt;Cc: Alexandre Ghiti &lt;alexghiti@rivosinc.com&gt;Cc: &quot;Aneesh Kumar K.V&quot; &lt;aneesh.kumar@kernel.org&gt;Cc: Arnd Bergmann &lt;arnd@arndb.de&gt;Cc: Dave Hansen &lt;dave.hansen@linux.intel.com&gt;Cc: David Hildenbrand &lt;david@redhat.com&gt;Cc: Hugh Dickens &lt;hughd@google.com&gt;Cc: Jann Horn &lt;jannh@google.com&gt;Cc: Matthew Wilcow (Oracle) &lt;willy@infradead.org&gt;Cc: &quot;Mike Rapoport (IBM)&quot; &lt;rppt@kernel.org&gt;Cc: Muchun Song &lt;muchun.song@linux.dev&gt;Cc: Nicholas Piggin &lt;npiggin@gmail.com&gt;Cc: Peter Zijlstra (Intel) &lt;peterz@infradead.org&gt;Cc: Rik van Riel &lt;riel@surriel.com&gt;Cc: Vishal Moola (Oracle) &lt;vishal.moola@gmail.com&gt;Cc: Will Deacon &lt;will@kernel.org&gt;Cc: Yu Zhao &lt;yuzhao@google.com&gt;Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;

            List of files:
            /linux-6.15/include/asm-generic/tlb.h</description>
        <pubDate>Tue, 25 Feb 2025 03:45:51 +0000</pubDate>
        <dc:creator>Qi Zheng &lt;zhengqi.arch@bytedance.com&gt;</dc:creator>
    </item>
<item>
        <title>7bd1fa0d - mm/mmu_gather: clean up the stale code comment</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/include/asm-generic/tlb.h#7bd1fa0d</link>
        <description>mm/mmu_gather: clean up the stale code commentIn commit d7f861b9c43a (&quot;mm/mmu_gather: add __tlb_remove_folio_pages()&quot;),helper function __tlb_remove_folio_pages_size() was added.  And based onthe helper, wrapper functions __tlb_remove_folio_pages() and__tlb_remove_page_size() are created and used by upper level functions.So let&apos;s update the code comment to reflect the current code abouttlb_remove_page()/tlb_remove_page_size(), etc.Link: https://lkml.kernel.org/r/20250211034348.39531-2-bhe@redhat.comSigned-off-by: Baoquan He &lt;bhe@redhat.com&gt;Cc: &quot;Aneesh Kumar K.V&quot; &lt;aneesh.kumar@kernel.org&gt;Cc: Nicholas Piggin &lt;npiggin@gmail.com&gt;Cc: Peter Zijlstra (Intel) &lt;peterz@infradead.org&gt;Cc: Qi Zheng &lt;zhengqi.arch@bytedance.com&gt;Cc: Will Deacon &lt;will@kernel.org&gt;Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;

            List of files:
            /linux-6.15/include/asm-generic/tlb.h</description>
        <pubDate>Tue, 11 Feb 2025 03:43:48 +0000</pubDate>
        <dc:creator>Baoquan He &lt;bhe@redhat.com&gt;</dc:creator>
    </item>
<item>
        <title>1d23b940 - mm/mmu_gather: remove unused __tlb_remove_page()</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/include/asm-generic/tlb.h#1d23b940</link>
        <description>mm/mmu_gather: remove unused __tlb_remove_page()Nobody is using __tlb_remove_page() now, clean it up.And also remove the code comment above tlb_remove_page() because it&apos;s notmeaningful any more.Link: https://lkml.kernel.org/r/Z6si0/A/zzEF/bFJ@MiWiFi-R3L-srvSigned-off-by: Baoquan He &lt;bhe@redhat.com&gt;Reviewed-by: Qi Zheng &lt;zhengqi.arch@bytedance.com&gt;Cc: &quot;Aneesh Kumar K.V&quot; &lt;aneesh.kumar@kernel.org&gt;Cc: Nicholas Piggin &lt;npiggin@gmail.com&gt;Cc: Peter Zijlstra (Intel) &lt;peterz@infradead.org&gt;Cc: Will Deacon &lt;will@kernel.org&gt;Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;

            List of files:
            /linux-6.15/include/asm-generic/tlb.h</description>
        <pubDate>Tue, 11 Feb 2025 10:13:39 +0000</pubDate>
        <dc:creator>Baoquan He &lt;bhe@redhat.com&gt;</dc:creator>
    </item>
<item>
        <title>553e7752 - mm: pgtable: introduce generic pagetable_dtor_free()</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/include/asm-generic/tlb.h#553e7752</link>
        <description>mm: pgtable: introduce generic pagetable_dtor_free()The pte_free(), pmd_free(), __pud_free() and __p4d_free() inasm-generic/pgalloc.h and the generic __tlb_remove_table() are basicallythe same, so let&apos;s introduce pagetable_dtor_free() to deduplicate them.In addition, the pagetable_dtor_free() in s390 does the same thing, solet&apos;s s390 also calls generic pagetable_dtor_free().Link: https://lkml.kernel.org/r/1663a0565aca881d1338ceb7d1db4aa9c333abd6.1736317725.git.zhengqi.arch@bytedance.comSigned-off-by: Qi Zheng &lt;zhengqi.arch@bytedance.com&gt;Suggested-by: Peter Zijlstra (Intel) &lt;peterz@infradead.org&gt;Reviewed-by: Kevin Brodsky &lt;kevin.brodsky@arm.com&gt;Acked-by: Alexander Gordeev &lt;agordeev@linux.ibm.com&gt;	[s390]Cc: Alexandre Ghiti &lt;alex@ghiti.fr&gt;Cc: Alexandre Ghiti &lt;alexghiti@rivosinc.com&gt;Cc: Andreas Larsson &lt;andreas@gaisler.com&gt;Cc: Aneesh Kumar K.V (Arm) &lt;aneesh.kumar@kernel.org&gt;Cc: Arnd Bergmann &lt;arnd@arndb.de&gt;Cc: Dave Hansen &lt;dave.hansen@linux.intel.com&gt;Cc: David Hildenbrand &lt;david@redhat.com&gt;Cc: David Rientjes &lt;rientjes@google.com&gt;Cc: Hugh Dickins &lt;hughd@google.com&gt;Cc: Jann Horn &lt;jannh@google.com&gt;Cc: Lorenzo Stoakes &lt;lorenzo.stoakes@oracle.com&gt;Cc: Matthew Wilcox (Oracle) &lt;willy@infradead.org&gt;Cc: Mike Rapoport (Microsoft) &lt;rppt@kernel.org&gt;Cc: Muchun Song &lt;muchun.song@linux.dev&gt;Cc: Nicholas Piggin &lt;npiggin@gmail.com&gt;Cc: Palmer Dabbelt &lt;palmer@dabbelt.com&gt;Cc: Ryan Roberts &lt;ryan.roberts@arm.com&gt;Cc: Thomas Gleixner &lt;tglx@linutronix.de&gt;Cc: Vishal Moola (Oracle) &lt;vishal.moola@gmail.com&gt;Cc: Will Deacon &lt;will@kernel.org&gt;Cc: Yu Zhao &lt;yuzhao@google.com&gt;Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;

            List of files:
            /linux-6.15/include/asm-generic/tlb.h</description>
        <pubDate>Wed, 08 Jan 2025 06:57:33 +0000</pubDate>
        <dc:creator>Qi Zheng &lt;zhengqi.arch@bytedance.com&gt;</dc:creator>
    </item>
<item>
        <title>92ec7fd1 - mm: pgtable: completely move pagetable_dtor() to generic tlb_remove_table()</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/include/asm-generic/tlb.h#92ec7fd1</link>
        <description>mm: pgtable: completely move pagetable_dtor() to generic tlb_remove_table()For the generic tlb_remove_table(), it is implemented in the following twoforms:1) CONFIG_MMU_GATHER_TABLE_FREE is enabledtlb_remove_table--&gt; generic __tlb_remove_table()2) CONFIG_MMU_GATHER_TABLE_FREE is disabledtlb_remove_table--&gt; tlb_remove_pageFor case 1), the pagetable_dtor() has already been moved to generic__tlb_remove_table().For case 2), now only arm will call tlb_remove_table()/tlb_remove_ptdesc()when CONFIG_MMU_GATHER_TABLE_FREE is disabled.  Let&apos;s movepagetable_dtor() completely to generic tlb_remove_table(), so that thearchitectures can follow more easily.Link: https://lkml.kernel.org/r/0c733ac867b287ec08190676496d1decebf49da2.1736317725.git.zhengqi.arch@bytedance.comSigned-off-by: Qi Zheng &lt;zhengqi.arch@bytedance.com&gt;Suggested-by: Kevin Brodsky &lt;kevin.brodsky@arm.com&gt;Reviewed-by: Kevin Brodsky &lt;kevin.brodsky@arm.com&gt;Cc: Alexander Gordeev &lt;agordeev@linux.ibm.com&gt;Cc: Alexandre Ghiti &lt;alex@ghiti.fr&gt;Cc: Alexandre Ghiti &lt;alexghiti@rivosinc.com&gt;Cc: Andreas Larsson &lt;andreas@gaisler.com&gt;Cc: Aneesh Kumar K.V (Arm) &lt;aneesh.kumar@kernel.org&gt;Cc: Arnd Bergmann &lt;arnd@arndb.de&gt;Cc: Dave Hansen &lt;dave.hansen@linux.intel.com&gt;Cc: David Hildenbrand &lt;david@redhat.com&gt;Cc: David Rientjes &lt;rientjes@google.com&gt;Cc: Hugh Dickins &lt;hughd@google.com&gt;Cc: Jann Horn &lt;jannh@google.com&gt;Cc: Lorenzo Stoakes &lt;lorenzo.stoakes@oracle.com&gt;Cc: Matthew Wilcox (Oracle) &lt;willy@infradead.org&gt;Cc: Mike Rapoport (Microsoft) &lt;rppt@kernel.org&gt;Cc: Muchun Song &lt;muchun.song@linux.dev&gt;Cc: Nicholas Piggin &lt;npiggin@gmail.com&gt;Cc: Palmer Dabbelt &lt;palmer@dabbelt.com&gt;Cc: Peter Zijlstra (Intel) &lt;peterz@infradead.org&gt;Cc: Ryan Roberts &lt;ryan.roberts@arm.com&gt;Cc: Thomas Gleixner &lt;tglx@linutronix.de&gt;Cc: Vishal Moola (Oracle) &lt;vishal.moola@gmail.com&gt;Cc: Will Deacon &lt;will@kernel.org&gt;Cc: Yu Zhao &lt;yuzhao@google.com&gt;Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;

            List of files:
            /linux-6.15/include/asm-generic/tlb.h</description>
        <pubDate>Wed, 08 Jan 2025 06:57:31 +0000</pubDate>
        <dc:creator>Qi Zheng &lt;zhengqi.arch@bytedance.com&gt;</dc:creator>
    </item>
<item>
        <title>2dccdf70 - mm: pgtable: introduce generic __tlb_remove_table()</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/include/asm-generic/tlb.h#2dccdf70</link>
        <description>mm: pgtable: introduce generic __tlb_remove_table()Several architectures (arm, arm64, riscv and x86) define exactly the same__tlb_remove_table(), just introduce generic __tlb_remove_table() toeliminate these duplications.The s390 __tlb_remove_table() is nearly the same, so also make s390__tlb_remove_table() version generic.Link: https://lkml.kernel.org/r/ea372633d94f4d3f9f56a7ec5994bf050bf77e39.1736317725.git.zhengqi.arch@bytedance.comSigned-off-by: Qi Zheng &lt;zhengqi.arch@bytedance.com&gt;Reviewed-by: Kevin Brodsky &lt;kevin.brodsky@arm.com&gt;Acked-by: Andreas Larsson &lt;andreas@gaisler.com&gt;		[sparc]Acked-by: Alexander Gordeev &lt;agordeev@linux.ibm.com&gt;	[s390]Acked-by: Arnd Bergmann &lt;arnd@arndb.de&gt;			[asm-generic]Cc: Alexandre Ghiti &lt;alex@ghiti.fr&gt;Cc: Alexandre Ghiti &lt;alexghiti@rivosinc.com&gt;Cc: Aneesh Kumar K.V (Arm) &lt;aneesh.kumar@kernel.org&gt;Cc: Dave Hansen &lt;dave.hansen@linux.intel.com&gt;Cc: David Hildenbrand &lt;david@redhat.com&gt;Cc: David Rientjes &lt;rientjes@google.com&gt;Cc: Hugh Dickins &lt;hughd@google.com&gt;Cc: Jann Horn &lt;jannh@google.com&gt;Cc: Lorenzo Stoakes &lt;lorenzo.stoakes@oracle.com&gt;Cc: Matthew Wilcox (Oracle) &lt;willy@infradead.org&gt;Cc: Mike Rapoport (Microsoft) &lt;rppt@kernel.org&gt;Cc: Muchun Song &lt;muchun.song@linux.dev&gt;Cc: Nicholas Piggin &lt;npiggin@gmail.com&gt;Cc: Palmer Dabbelt &lt;palmer@dabbelt.com&gt;Cc: Peter Zijlstra (Intel) &lt;peterz@infradead.org&gt;Cc: Ryan Roberts &lt;ryan.roberts@arm.com&gt;Cc: Thomas Gleixner &lt;tglx@linutronix.de&gt;Cc: Vishal Moola (Oracle) &lt;vishal.moola@gmail.com&gt;Cc: Will Deacon &lt;will@kernel.org&gt;Cc: Yu Zhao &lt;yuzhao@google.com&gt;Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;

            List of files:
            /linux-6.15/include/asm-generic/tlb.h</description>
        <pubDate>Wed, 08 Jan 2025 06:57:30 +0000</pubDate>
        <dc:creator>Qi Zheng &lt;zhengqi.arch@bytedance.com&gt;</dc:creator>
    </item>
<item>
        <title>d7f861b9 - mm/mmu_gather: add __tlb_remove_folio_pages()</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/include/asm-generic/tlb.h#d7f861b9</link>
        <description>mm/mmu_gather: add __tlb_remove_folio_pages()Add __tlb_remove_folio_pages(), which will remove multiple consecutivepages that belong to the same large folio, instead of only a single page. We&apos;ll be using this function when optimizing unmapping/zapping of largefolios that are mapped by PTEs.We&apos;re using the remaining spare bit in an encoded_page to indicate thatthe next enoced page in an array contains actually shifted &quot;nr_pages&quot;. Teach swap/freeing code about putting multiple folio references, anddelayed rmap handling to remove page ranges of a folio.This extension allows for still gathering almost as many small folios aswe used to (-1, because we have to prepare for a possibly bigger nextentry), but still allows for gathering consecutive pages that belong tothe same large folio.Note that we don&apos;t pass the folio pointer, because it is not required fornow.  Further, we don&apos;t support page_size != PAGE_SIZE, it won&apos;t berequired for simple PTE batching.We have to provide a separate s390 implementation, but it&apos;s fairlystraight forward.Another, more invasive and likely more expensive, approach would be to usefolio+range or a PFN range instead of page+nr_pages.  But, we should dothat consistently for the whole mmu_gather.  For now, let&apos;s keep it simpleand add &quot;nr_pages&quot; only.Note that it is now possible to gather significantly more pages: In thepast, we were able to gather ~10000 pages, now we can also gather ~5000folio fragments that span multiple pages.  A folio fragment on x86-64 canspan up to 512 pages (2 MiB THP) and on arm64 with 64k in theory 8192pages (512 MiB THP).  Gathering more memory is not considered something weshould worry about, especially because these are already corner cases.While we can gather more total memory, we won&apos;t free more folio fragments.As long as page freeing time primarily only depends on the number ofinvolved folios, there is no effective change for !preempt configurations.However, we&apos;ll adjust tlb_batch_pages_flush() separately to handle cornercases where page freeing time grows proportionally with the actual memorysize.Link: https://lkml.kernel.org/r/20240214204435.167852-9-david@redhat.comSigned-off-by: David Hildenbrand &lt;david@redhat.com&gt;Reviewed-by: Ryan Roberts &lt;ryan.roberts@arm.com&gt;Cc: Alexander Gordeev &lt;agordeev@linux.ibm.com&gt;Cc: Aneesh Kumar K.V &lt;aneesh.kumar@linux.ibm.com&gt;Cc: Arnd Bergmann &lt;arnd@arndb.de&gt;Cc: Catalin Marinas &lt;catalin.marinas@arm.com&gt;Cc: Christian Borntraeger &lt;borntraeger@linux.ibm.com&gt;Cc: Christophe Leroy &lt;christophe.leroy@csgroup.eu&gt;Cc: Heiko Carstens &lt;hca@linux.ibm.com&gt;Cc: Matthew Wilcox (Oracle) &lt;willy@infradead.org&gt;Cc: Michael Ellerman &lt;mpe@ellerman.id.au&gt;Cc: Michal Hocko &lt;mhocko@suse.com&gt;Cc: &quot;Naveen N. Rao&quot; &lt;naveen.n.rao@linux.ibm.com&gt;Cc: Nicholas Piggin &lt;npiggin@gmail.com&gt;Cc: Peter Zijlstra (Intel) &lt;peterz@infradead.org&gt;Cc: Sven Schnelle &lt;svens@linux.ibm.com&gt;Cc: Vasily Gorbik &lt;gor@linux.ibm.com&gt;Cc: Will Deacon &lt;will@kernel.org&gt;Cc: Yin Fengwei &lt;fengwei.yin@intel.com&gt;Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;

            List of files:
            /linux-6.15/include/asm-generic/tlb.h</description>
        <pubDate>Wed, 14 Feb 2024 20:44:33 +0000</pubDate>
        <dc:creator>David Hildenbrand &lt;david@redhat.com&gt;</dc:creator>
    </item>
<item>
        <title>4d5bf0b6 - mm/mmu_gather: add tlb_remove_tlb_entries()</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/include/asm-generic/tlb.h#4d5bf0b6</link>
        <description>mm/mmu_gather: add tlb_remove_tlb_entries()Let&apos;s add a helper that lets us batch-process multiple consecutive PTEs.Note that the loop will get optimized out on all architectures except onpowerpc.  We have to add an early define of __tlb_remove_tlb_entry() onppc to make the compiler happy (and avoid making tlb_remove_tlb_entries()a macro).[arnd@kernel.org: change __tlb_remove_tlb_entry() to an inline function]  Link: https://lkml.kernel.org/r/20240221154549.2026073-1-arnd@kernel.orgLink: https://lkml.kernel.org/r/20240214204435.167852-8-david@redhat.comSigned-off-by: David Hildenbrand &lt;david@redhat.com&gt;Signed-off-by: Arnd Bergmann &lt;arnd@arndb.de&gt;Reviewed-by: Ryan Roberts &lt;ryan.roberts@arm.com&gt;Cc: Alexander Gordeev &lt;agordeev@linux.ibm.com&gt;Cc: Aneesh Kumar K.V &lt;aneesh.kumar@linux.ibm.com&gt;Cc: Arnd Bergmann &lt;arnd@arndb.de&gt;Cc: Catalin Marinas &lt;catalin.marinas@arm.com&gt;Cc: Christian Borntraeger &lt;borntraeger@linux.ibm.com&gt;Cc: Christophe Leroy &lt;christophe.leroy@csgroup.eu&gt;Cc: Heiko Carstens &lt;hca@linux.ibm.com&gt;Cc: Matthew Wilcox (Oracle) &lt;willy@infradead.org&gt;Cc: Michael Ellerman &lt;mpe@ellerman.id.au&gt;Cc: Michal Hocko &lt;mhocko@suse.com&gt;Cc: &quot;Naveen N. Rao&quot; &lt;naveen.n.rao@linux.ibm.com&gt;Cc: Nicholas Piggin &lt;npiggin@gmail.com&gt;Cc: Peter Zijlstra (Intel) &lt;peterz@infradead.org&gt;Cc: Sven Schnelle &lt;svens@linux.ibm.com&gt;Cc: Vasily Gorbik &lt;gor@linux.ibm.com&gt;Cc: Will Deacon &lt;will@kernel.org&gt;Cc: Yin Fengwei &lt;fengwei.yin@intel.com&gt;Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;

            List of files:
            /linux-6.15/include/asm-generic/tlb.h</description>
        <pubDate>Wed, 14 Feb 2024 20:44:32 +0000</pubDate>
        <dc:creator>David Hildenbrand &lt;david@redhat.com&gt;</dc:creator>
    </item>
<item>
        <title>c30d6bc8 - mm/mmu_gather: pass &quot;delay_rmap&quot; instead of encoded page to __tlb_remove_page_size()</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/include/asm-generic/tlb.h#c30d6bc8</link>
        <description>mm/mmu_gather: pass &quot;delay_rmap&quot; instead of encoded page to __tlb_remove_page_size()We have two bits available in the encoded page pointer to store additionalinformation.  Currently, we use one bit to request delay of the rmapremoval until after a TLB flush.We want to make use of the remaining bit internally for batching ofmultiple pages of the same folio, specifying that the next encoded pagepointer in an array is actually &quot;nr_pages&quot;.  So pass page + delay_rmapflag instead of an encoded page, to handle the encoding internally.Link: https://lkml.kernel.org/r/20240214204435.167852-6-david@redhat.comSigned-off-by: David Hildenbrand &lt;david@redhat.com&gt;Reviewed-by: Ryan Roberts &lt;ryan.roberts@arm.com&gt;Cc: Alexander Gordeev &lt;agordeev@linux.ibm.com&gt;Cc: Aneesh Kumar K.V &lt;aneesh.kumar@linux.ibm.com&gt;Cc: Arnd Bergmann &lt;arnd@arndb.de&gt;Cc: Catalin Marinas &lt;catalin.marinas@arm.com&gt;Cc: Christian Borntraeger &lt;borntraeger@linux.ibm.com&gt;Cc: Christophe Leroy &lt;christophe.leroy@csgroup.eu&gt;Cc: Heiko Carstens &lt;hca@linux.ibm.com&gt;Cc: Matthew Wilcox (Oracle) &lt;willy@infradead.org&gt;Cc: Michael Ellerman &lt;mpe@ellerman.id.au&gt;Cc: Michal Hocko &lt;mhocko@suse.com&gt;Cc: &quot;Naveen N. Rao&quot; &lt;naveen.n.rao@linux.ibm.com&gt;Cc: Nicholas Piggin &lt;npiggin@gmail.com&gt;Cc: Peter Zijlstra (Intel) &lt;peterz@infradead.org&gt;Cc: Sven Schnelle &lt;svens@linux.ibm.com&gt;Cc: Vasily Gorbik &lt;gor@linux.ibm.com&gt;Cc: Will Deacon &lt;will@kernel.org&gt;Cc: Yin Fengwei &lt;fengwei.yin@intel.com&gt;Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;

            List of files:
            /linux-6.15/include/asm-generic/tlb.h</description>
        <pubDate>Wed, 14 Feb 2024 20:44:30 +0000</pubDate>
        <dc:creator>David Hildenbrand &lt;david@redhat.com&gt;</dc:creator>
    </item>
<item>
        <title>bf2d4334 - mm: add utility functions for ptdesc</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/include/asm-generic/tlb.h#bf2d4334</link>
        <description>mm: add utility functions for ptdescIntroduce utility functions setting the foundation for ptdescs.  Thesewill also assist in the splitting out of ptdesc from struct page.Functions that focus on the descriptor are prefixed with ptdesc_* whilefunctions that focus on the pagetable are prefixed with pagetable_*.pagetable_alloc() is defined to allocate new ptdesc pages as compoundpages.  This is to standardize ptdescs by allowing for one allocation andone free function, in contrast to 2 allocation and 2 free functions.Link: https://lkml.kernel.org/r/20230807230513.102486-4-vishal.moola@gmail.comSigned-off-by: Vishal Moola (Oracle) &lt;vishal.moola@gmail.com&gt;Cc: Arnd Bergmann &lt;arnd@arndb.de&gt;Cc: Catalin Marinas &lt;catalin.marinas@arm.com&gt;Cc: Christophe Leroy &lt;christophe.leroy@csgroup.eu&gt;Cc: Claudio Imbrenda &lt;imbrenda@linux.ibm.com&gt;Cc: Dave Hansen &lt;dave.hansen@linux.intel.com&gt;Cc: David Hildenbrand &lt;david@redhat.com&gt;Cc: &quot;David S. Miller&quot; &lt;davem@davemloft.net&gt;Cc: Dinh Nguyen &lt;dinguyen@kernel.org&gt;Cc: Geert Uytterhoeven &lt;geert@linux-m68k.org&gt;Cc: Geert Uytterhoeven &lt;geert+renesas@glider.be&gt;Cc: Guo Ren &lt;guoren@kernel.org&gt;Cc: Huacai Chen &lt;chenhuacai@kernel.org&gt;Cc: Hugh Dickins &lt;hughd@google.com&gt;Cc: John Paul Adrian Glaubitz &lt;glaubitz@physik.fu-berlin.de&gt;Cc: Jonas Bonn &lt;jonas@southpole.se&gt;Cc: Matthew Wilcox &lt;willy@infradead.org&gt;Cc: Mike Rapoport (IBM) &lt;rppt@kernel.org&gt;Cc: Palmer Dabbelt &lt;palmer@rivosinc.com&gt;Cc: Paul Walmsley &lt;paul.walmsley@sifive.com&gt;Cc: Richard Weinberger &lt;richard@nod.at&gt;Cc: Thomas Bogendoerfer &lt;tsbogend@alpha.franken.de&gt;Cc: Yoshinori Sato &lt;ysato@users.sourceforge.jp&gt;Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;

            List of files:
            /linux-6.15/include/asm-generic/tlb.h</description>
        <pubDate>Mon, 07 Aug 2023 23:04:45 +0000</pubDate>
        <dc:creator>Vishal Moola (Oracle) &lt;vishal.moola@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>6bbd42e2 - mmu_notifiers: call invalidate_range() when invalidating TLBs</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/include/asm-generic/tlb.h#6bbd42e2</link>
        <description>mmu_notifiers: call invalidate_range() when invalidating TLBsThe invalidate_range() is going to become an architecture specific mmunotifier used to keep the TLB of secondary MMUs such as an IOMMU in syncwith the CPU page tables.  Currently it is called from separate code pathsto the main CPU TLB invalidations.  This can lead to a secondary TLB notgetting invalidated when required and makes it hard to reason about whenexactly the secondary TLB is invalidated.To fix this move the notifier call to the architecture specific TLBmaintenance functions for architectures that have secondary MMUs requiringexplicit software invalidations.This fixes a SMMU bug on ARM64.  On ARM64 PTE permission upgrades requirea TLB invalidation.  This invalidation is done by the architecturespecific ptep_set_access_flags() which calls flush_tlb_page() if required.However this doesn&apos;t call the notifier resulting in infinite faults beinggenerated by devices using the SMMU if it has previously cached aread-only PTE in it&apos;s TLB.Moving the invalidations into the TLB invalidation functions ensures allinvalidations happen at the same time as the CPU invalidation.  Thearchitecture specific flush_tlb_all() routines do not call the notifier asnone of the IOMMUs require this.Link: https://lkml.kernel.org/r/0287ae32d91393a582897d6c4db6f7456b1001f2.1690292440.git-series.apopple@nvidia.comSigned-off-by: Alistair Popple &lt;apopple@nvidia.com&gt;Suggested-by: Jason Gunthorpe &lt;jgg@ziepe.ca&gt;Tested-by: SeongJae Park &lt;sj@kernel.org&gt;Acked-by: Catalin Marinas &lt;catalin.marinas@arm.com&gt;Reviewed-by: Jason Gunthorpe &lt;jgg@nvidia.com&gt;Tested-by: Luis Chamberlain &lt;mcgrof@kernel.org&gt;Cc: Andrew Donnellan &lt;ajd@linux.ibm.com&gt;Cc: Chaitanya Kumar Borah &lt;chaitanya.kumar.borah@intel.com&gt;Cc: Frederic Barrat &lt;fbarrat@linux.ibm.com&gt;Cc: John Hubbard &lt;jhubbard@nvidia.com&gt;Cc: Kevin Tian &lt;kevin.tian@intel.com&gt;Cc: Michael Ellerman &lt;mpe@ellerman.id.au&gt;Cc: Nicholas Piggin &lt;npiggin@gmail.com&gt;Cc: Nicolin Chen &lt;nicolinc@nvidia.com&gt;Cc: Robin Murphy &lt;robin.murphy@arm.com&gt;Cc: Sean Christopherson &lt;seanjc@google.com&gt;Cc: Tvrtko Ursulin &lt;tvrtko.ursulin@linux.intel.com&gt;Cc: Will Deacon &lt;will@kernel.org&gt;Cc: Zhi Wang &lt;zhi.wang.linux@gmail.com&gt;Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;

            List of files:
            /linux-6.15/include/asm-generic/tlb.h</description>
        <pubDate>Tue, 25 Jul 2023 13:42:05 +0000</pubDate>
        <dc:creator>Alistair Popple &lt;apopple@nvidia.com&gt;</dc:creator>
    </item>
<item>
        <title>5df397de - mm: delay page_remove_rmap() until after the TLB has been flushed</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/include/asm-generic/tlb.h#5df397de</link>
        <description>mm: delay page_remove_rmap() until after the TLB has been flushedWhen we remove a page table entry, we are very careful to only free thepage after we have flushed the TLB, because other CPUs could still beusing the page through stale TLB entries until after the flush.However, we have removed the rmap entry for that page early, which meansthat functions like folio_mkclean() would end up not serializing with thepage table lock because the page had already been made invisible to rmap.And that is a problem, because while the TLB entry exists, we could end upwith the following situation: (a) one CPU could come in and clean it, never seeing our mapping of the     page (b) another CPU could continue to use the stale and dirty TLB entry and     continue to write to said pageresulting in a page that has been dirtied, but then marked clean again,all while another CPU might have dirtied it some more.End result: possibly lost dirty data.This extends our current TLB gather infrastructure to optionally track a&quot;should I do a delayed page_remove_rmap() for this page after flushing theTLB&quot;.  It uses the newly introduced &apos;encoded page pointer&apos; to do thatwithout having to keep separate data around.Note, this is complicated by a couple of issues: - we want to delay the rmap removal, but not past the page table lock,   because that simplifies the memcg accounting - only SMP configurations want to delay TLB flushing, since on UP   there are obviously no remote TLBs to worry about, and the page   table lock means there are no preemption issues either - s390 has its own mmu_gather model that doesn&apos;t delay TLB flushing,   and as a result also does not want the delayed rmap. As such, we can   treat S390 like the UP case and use a common fallback for the &quot;no   delays&quot; case. - we can track an enormous number of pages in our mmu_gather structure,   with MAX_GATHER_BATCH_COUNT batches of MAX_TABLE_BATCH pages each,   all set up to be approximately 10k pending pages.   We do not want to have a huge number of batched pages that we then   need to check for delayed rmap handling inside the page table lock.Particularly that last point results in a noteworthy detail, where thenormal page batch gathering is limited once we have delayed rmaps pending,in such a way that only the last batch (the so-called &quot;active batch&quot;) inthe mmu_gather structure can have any delayed entries.NOTE!  While the &quot;possibly lost dirty data&quot; sounds catastrophic, for thisall to happen you need to have a user thread doing either madvise() withMADV_DONTNEED or a full re-mmap() of the area concurrently with anotherthread continuing to use said mapping.So arguably this is about user space doing crazy things, but from a VMconsistency standpoint it&apos;s better if we track the dirty bit properly evenwhen user space goes off the rails.[akpm@linux-foundation.org: fix UP build, per Linus]Link: https://lore.kernel.org/all/B88D3073-440A-41C7-95F4-895D3F657EF2@gmail.com/Link: https://lkml.kernel.org/r/20221109203051.1835763-4-torvalds@linux-foundation.orgSigned-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;Acked-by: Johannes Weiner &lt;hannes@cmpxchg.org&gt;Acked-by: Hugh Dickins &lt;hughd@google.com&gt;Reported-by: Nadav Amit &lt;nadav.amit@gmail.com&gt;Tested-by: Nadav Amit &lt;nadav.amit@gmail.com&gt;Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;

            List of files:
            /linux-6.15/include/asm-generic/tlb.h</description>
        <pubDate>Wed, 09 Nov 2022 20:30:51 +0000</pubDate>
        <dc:creator>Linus Torvalds &lt;torvalds@linux-foundation.org&gt;</dc:creator>
    </item>
<item>
        <title>7cc8f9c7 - mm: mmu_gather: prepare to gather encoded page pointers with flags</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/include/asm-generic/tlb.h#7cc8f9c7</link>
        <description>mm: mmu_gather: prepare to gather encoded page pointers with flagsThis is purely a preparatory patch that makes all the data structuresready for encoding flags with the mmu_gather page pointers.The code currently always sets the flag to zero and doesn&apos;t use it yet,but now it&apos;s tracking the type state along.  The next step will be toactually start using it.Link: https://lkml.kernel.org/r/20221109203051.1835763-3-torvalds@linux-foundation.orgSigned-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;Acked-by: Johannes Weiner &lt;hannes@cmpxchg.org&gt;Acked-by: Hugh Dickins &lt;hughd@google.com&gt;Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;

            List of files:
            /linux-6.15/include/asm-generic/tlb.h</description>
        <pubDate>Wed, 09 Nov 2022 20:30:50 +0000</pubDate>
        <dc:creator>Linus Torvalds &lt;torvalds@linux-foundation.org&gt;</dc:creator>
    </item>
<item>
        <title>2ba99c5e - mm/khugepaged: fix GUP-fast interaction by sending IPI</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/include/asm-generic/tlb.h#2ba99c5e</link>
        <description>mm/khugepaged: fix GUP-fast interaction by sending IPISince commit 70cbc3cc78a99 (&quot;mm: gup: fix the fast GUP race against THPcollapse&quot;), the lockless_pages_from_mm() fastpath rechecks the pmd_t toensure that the page table was not removed by khugepaged in between.However, lockless_pages_from_mm() still requires that the page table isnot concurrently freed.  Fix it by sending IPIs (if the architecture usessemi-RCU-style page table freeing) before freeing/reusing page tables.Link: https://lkml.kernel.org/r/20221129154730.2274278-2-jannh@google.comLink: https://lkml.kernel.org/r/20221128180252.1684965-2-jannh@google.comLink: https://lkml.kernel.org/r/20221125213714.4115729-2-jannh@google.comFixes: ba76149f47d8 (&quot;thp: khugepaged&quot;)Signed-off-by: Jann Horn &lt;jannh@google.com&gt;Reviewed-by: Yang Shi &lt;shy828301@gmail.com&gt;Acked-by: David Hildenbrand &lt;david@redhat.com&gt;Cc: John Hubbard &lt;jhubbard@nvidia.com&gt;Cc: Peter Xu &lt;peterx@redhat.com&gt;Cc: &lt;stable@vger.kernel.org&gt;Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;

            List of files:
            /linux-6.15/include/asm-generic/tlb.h</description>
        <pubDate>Fri, 25 Nov 2022 21:37:13 +0000</pubDate>
        <dc:creator>Jann Horn &lt;jannh@google.com&gt;</dc:creator>
    </item>
<item>
        <title>7fb5e508 - mmu_gather: fix the CONFIG_MMU_GATHER_NO_RANGE case</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/include/asm-generic/tlb.h#7fb5e508</link>
        <description>mmu_gather: fix the CONFIG_MMU_GATHER_NO_RANGE caseSudip reports that alpha doesn&apos;t build properly, with errors like  include/asm-generic/tlb.h:401:1: error: redefinition of &apos;tlb_update_vma_flags&apos;    401 | tlb_update_vma_flags(struct mmu_gather *tlb, struct vm_area_struct *vma)        | ^~~~~~~~~~~~~~~~~~~~  include/asm-generic/tlb.h:372:1: note: previous definition of &apos;tlb_update_vma_flags&apos; with type &apos;void(struct mmu_gather *, struct vm_area_struct *)&apos;    372 | tlb_update_vma_flags(struct mmu_gather *tlb, struct vm_area_struct *vma) { }the cause being that We have this odd situation where some architectureswere never converted to the newer TLB flushing interfaces that have arange for the flush.  Instead people left them alone, and we have themselect the MMU_GATHER_NO_RANGE config option to make the tlb headerfiles account for this.Peter Zijlstra cleaned some of these nasty header file games up incommits  1e9fdf21a433 (&quot;mmu_gather: Remove per arch tlb_{start,end}_vma()&quot;)  18ba064e42df (&quot;mmu_gather: Let there be one tlb_{start,end}_vma() implementation&quot;)but tlb_update_vma_flags() was left alone, and then commit b67fbebd4cf9(&quot;mmu_gather: Force tlb-flush VM_PFNMAP vmas&quot;) ended up removing only_one_ of the two stale duplicate dummy inline functions.This removes the other stale one.Somebody braver than me should try to remove MMU_GATHER_NO_RANGEentirely, but it requires fixing up the oddball architectures that useit: alpha, m68k, microblaze, nios2 and openrisc.The fixups should be fairly straightforward (&quot;fix the build errors itexposes by adding the appropriate range arguments&quot;), but the reason thiswasn&apos;t done in the first place is that so few people end up working onthose architectures.  But it could be done one architecture at a time,hint, hint.Reported-by: Sudip Mukherjee (Codethink) &lt;sudipm.mukherjee@gmail.com&gt;Fixes: b67fbebd4cf9 (&quot;mmu_gather: Force tlb-flush VM_PFNMAP vmas&quot;)Link: https://lore.kernel.org/all/YtpXh0QHWwaEWVAY@debian/Cc: Peter Zijlstra &lt;peterz@infradead.org&gt;Cc: Will Deacon &lt;will@kernel.org&gt;Cc: &quot;Aneesh Kumar K.V&quot; &lt;aneesh.kumar@linux.ibm.com&gt;Cc: Andrew Morton &lt;akpm@linux-foundation.org&gt;Cc: Nick Piggin &lt;npiggin@gmail.com&gt;Cc: Arnd Bergmann &lt;arnd@arndb.de&gt;Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;

            List of files:
            /linux-6.15/include/asm-generic/tlb.h</description>
        <pubDate>Fri, 22 Jul 2022 16:28:34 +0000</pubDate>
        <dc:creator>Linus Torvalds &lt;torvalds@linux-foundation.org&gt;</dc:creator>
    </item>
<item>
        <title>b67fbebd - mmu_gather: Force tlb-flush VM_PFNMAP vmas</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/include/asm-generic/tlb.h#b67fbebd</link>
        <description>mmu_gather: Force tlb-flush VM_PFNMAP vmasJann reported a race between munmap() and unmap_mapping_range(), whereunmap_mapping_range() will no-op once unmap_vmas() has unlinked theVMA; however munmap() will not yet have invalidated the TLBs.Therefore unmap_mapping_range() will complete while there are still(stale) TLB entries for the specified range.Mitigate this by force flushing TLBs for VM_PFNMAP ranges.Signed-off-by: Peter Zijlstra (Intel) &lt;peterz@infradead.org&gt;Acked-by: Will Deacon &lt;will@kernel.org&gt;Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;

            List of files:
            /linux-6.15/include/asm-generic/tlb.h</description>
        <pubDate>Fri, 08 Jul 2022 07:18:06 +0000</pubDate>
        <dc:creator>Peter Zijlstra &lt;peterz@infradead.org&gt;</dc:creator>
    </item>
<item>
        <title>18ba064e - mmu_gather: Let there be one tlb_{start,end}_vma() implementation</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/include/asm-generic/tlb.h#18ba064e</link>
        <description>mmu_gather: Let there be one tlb_{start,end}_vma() implementationNow that architectures are no longer allowed to overridetlb_{start,end}_vma() re-arrange code so that there is only oneimplementation for each of these functions.This much simplifies trying to figure out what they actually do.Signed-off-by: Peter Zijlstra (Intel) &lt;peterz@infradead.org&gt;Acked-by: Will Deacon &lt;will@kernel.org&gt;Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;

            List of files:
            /linux-6.15/include/asm-generic/tlb.h</description>
        <pubDate>Fri, 08 Jul 2022 07:18:05 +0000</pubDate>
        <dc:creator>Peter Zijlstra &lt;peterz@infradead.org&gt;</dc:creator>
    </item>
<item>
        <title>1e9fdf21 - mmu_gather: Remove per arch tlb_{start,end}_vma()</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/include/asm-generic/tlb.h#1e9fdf21</link>
        <description>mmu_gather: Remove per arch tlb_{start,end}_vma()Scattered across the archs are 3 basic forms of tlb_{start,end}_vma().Provide two new MMU_GATHER_knobs to enumerate them and remove the perarch tlb_{start,end}_vma() implementations. - MMU_GATHER_NO_FLUSH_CACHE indicates the arch has flush_cache_range()   but does *NOT* want to call it for each VMA. - MMU_GATHER_MERGE_VMAS indicates the arch wants to merge the   invalidate across multiple VMAs if possible.With these it is possible to capture the three forms:  1) empty stubs;     select MMU_GATHER_NO_FLUSH_CACHE and MMU_GATHER_MERGE_VMAS  2) start: flush_cache_range(), end: empty;     select MMU_GATHER_MERGE_VMAS  3) start: flush_cache_range(), end: flush_tlb_range();     defaultObviously, if the architecture does not have flush_cache_range() thenit also doesn&apos;t need to select MMU_GATHER_NO_FLUSH_CACHE.Signed-off-by: Peter Zijlstra (Intel) &lt;peterz@infradead.org&gt;Acked-by: Will Deacon &lt;will@kernel.org&gt;Cc: David Miller &lt;davem@davemloft.net&gt;Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;

            List of files:
            /linux-6.15/include/asm-generic/tlb.h</description>
        <pubDate>Fri, 08 Jul 2022 07:18:03 +0000</pubDate>
        <dc:creator>Peter Zijlstra &lt;peterz@infradead.org&gt;</dc:creator>
    </item>
</channel>
</rss>
