Thread (18 messages) 18 messages, 4 authors, 2021-04-12

[PATCH v3 0/9] Speedup mremap on ppc64

flat view
STALE2022d SUPERSEDED

From: Aneesh Kumar K.V <hidden>
Date: 2021-03-30 06:08:18
Also in: linux-mm
Subsystem: arm64 port (aarch64 architecture), kernel selftest framework, linux for powerpc (32-bit and 64-bit), memory management, memory mapping, mmu gather and tlb invalidation, synopsys arc architecture, the rest, x86 architecture (32-bit and 64-bit) · Maintainers: Catalin Marinas, Will Deacon, Shuah Khan, Shuah Khan, Madhavan Srinivasan, Andrew Morton, Liam R. Howlett, Lorenzo Stoakes, "Aneesh Kumar K.V", Nick Piggin, Peter Zijlstra, Vineet Gupta, Linus Torvalds, Thomas Gleixner, Ingo Molnar, Borislav Petkov, Dave Hansen

Status: Superseded by v8 (posted 2021-06-16). [go to v8]

Revision v3 (7 revisions archived).

Revisions (7)
  1. v2
  2. v3 current [diff against previous]
  3. v4 [diff against previous]
  4. v5 [diff against previous]
  5. v6 [diff against previous]
  6. v7 [diff against previous]
  7. v8 [diff against previous]
This patchset enables MOVE_PMD/MOVE_PUD support on power. This requires
the platform to support updating higher-level page tables without
updating page table entries. This also needs to invalidate the Page Walk
Cache on architecture supporting the same.

Changes from v2:
* switch from using mmu_gather to flush_pte_tlb_pwc_range() 

Changes from v1:
* Rebase to recent upstream
* Fix build issues with tlb_gather_mmu changes



Aneesh Kumar K.V (9):
  selftest/mremap_test: Update the test to handle pagesize other than 4K
  selftest/mremap_test: Avoid crash with static build
  mm/mremap: Use pmd/pud_poplulate to update page table entries
  powerpc/mm/book3s64: Fix possible build error
  powerpc/mm/book3s64: Update tlb flush routines to take a page walk
    cache flush argument
  mm/mremap: Use range flush that does TLB and page walk cache flush
  mm/mremap: Move TLB flush outside page table lock
  mm/mremap: Allow arch runtime override
  powerpc/mm: Enable move pmd/pud

 arch/arc/include/asm/tlb.h                    |   5 +
 arch/arm64/include/asm/tlb.h                  |   6 +
 .../include/asm/book3s/64/tlbflush-radix.h    |  19 +--
 arch/powerpc/include/asm/book3s/64/tlbflush.h |  30 ++++-
 arch/powerpc/include/asm/tlb.h                |   6 +
 arch/powerpc/mm/book3s64/radix_hugetlbpage.c  |   4 +-
 arch/powerpc/mm/book3s64/radix_tlb.c          |  49 ++++----
 arch/powerpc/platforms/Kconfig.cputype        |   2 +
 arch/x86/include/asm/tlb.h                    |   5 +
 mm/mremap.c                                   |  40 ++++--
 tools/testing/selftests/vm/mremap_test.c      | 118 ++++++++++--------
 11 files changed, 187 insertions(+), 97 deletions(-)

-- 
2.30.2
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help