mbox series

[RFC,0/5] powerpc/64s/radix: Use non-atomic ops for PTE

Message ID 20201219234813.830747-1-npiggin@gmail.com (mailing list archive)
Headers show
Series powerpc/64s/radix: Use non-atomic ops for PTE | expand

Message

Nicholas Piggin Dec. 19, 2020, 11:48 p.m. UTC
This is not entirely settled because of future compatibility concern
but in terms of Linux code and existing processors I think the approach
works.

Thanks,
Nick

Nicholas Piggin (5):
  powerpc/64s: update_mmu_cache inline the radix test
  powerpc/64s: implement mm_nmmu_has_tlbs
  powerpc/64s: add CONFIG_PPC_NMMU for nest MMU support
  powerpc/64s/radix: implement complete radix__ptep_get_and_clear_full
  powerpc/64s/radix: Use non-atomic PTE updates if the MMU does not
    modify the PTE

 arch/powerpc/Kconfig                          |  1 +
 arch/powerpc/include/asm/book3s/64/mmu.h      |  2 +
 arch/powerpc/include/asm/book3s/64/pgtable.h  | 10 +--
 arch/powerpc/include/asm/book3s/64/radix.h    | 50 +++++------
 arch/powerpc/include/asm/book3s/64/tlbflush.h | 11 ++-
 arch/powerpc/include/asm/book3s/pgtable.h     | 11 ++-
 arch/powerpc/include/asm/mmu_context.h        |  5 +-
 arch/powerpc/mm/book3s32/mmu.c                |  4 +-
 arch/powerpc/mm/book3s64/hash_utils.c         |  7 +-
 arch/powerpc/mm/book3s64/radix_hugetlbpage.c  |  3 +-
 arch/powerpc/mm/book3s64/radix_pgtable.c      | 82 +++++++++++++++----
 arch/powerpc/mm/book3s64/radix_tlb.c          | 26 +++---
 arch/powerpc/platforms/Kconfig                |  3 +
 arch/powerpc/platforms/powernv/Kconfig        |  1 +
 14 files changed, 134 insertions(+), 82 deletions(-)