[PATCH 0/7] New arch interfaces for manipulating multiple pages

Matthew Wilcox (Oracle)
2023-02-11T03:40:17Z

Here's my latest draft of a new set of page table manipulation APIs. I've
only done alpha, arc and x86 (other than x86, I'm going alphabetically).
Before I go much further, some feedback might be a good idea. Or if
someone wants to volunteer to do their architecture ;-)

Matthew Wilcox (Oracle) (7):
mm: Convert page_table_check_pte_set() to page_table_check_ptes_set()
mm: Add generic flush_icache_pages() and documentation
mm: Add folio_flush_mapping()
mm: Remove ARCH_IMPLEMENTS_FLUSH_DCACHE_FOLIO
alpha: Implement the new page table range API
arc: Implement the new page table range API
x86: Implement the new page table range API

Documentation/core-api/cachetlb.rst | 35 ++++++-------
arch/alpha/include/asm/cacheflush.h | 10 ++++
arch/alpha/include/asm/pgtable.h | 18 ++++++-
arch/arc/include/asm/cacheflush.h | 7 ++-
arch/arc/include/asm/pgtable-bits-arcv2.h | 20 ++++++--
arch/arc/mm/cache.c | 61 ++++++++++++++---------
arch/arc/mm/tlb.c | 18 ++++---
arch/arm64/include/asm/pgtable.h | 2 +-
arch/riscv/include/asm/pgtable.h | 2 +-
arch/x86/include/asm/pgtable.h | 21 ++++++--
include/asm-generic/cacheflush.h | 5 ++
include/linux/cacheflush.h | 4 +-
include/linux/page_table_check.h | 14 +++---
include/linux/pagemap.h | 26 ++++++++--
mm/page_table_check.c | 14 +++---
mm/util.c | 2 +-
16 files changed, 176 insertions(+), 83 deletions(-)

--
2.39.1