OpenCloudOS-Kernel/arch/loongarch
Peter Zijlstra 1e9fdf21a4 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 per
arch 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();
     default

Obviously, if the architecture does not have flush_cache_range() then
it also doesn't need to select MMU_GATHER_NO_FLUSH_CACHE.

Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Acked-by: Will Deacon <will@kernel.org>
Cc: David Miller <davem@davemloft.net>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2022-07-21 10:50:13 -07:00
..
boot LoongArch: Add build infrastructure 2022-06-03 20:09:27 +08:00
configs LoongArch: Add Loongson-3 default config file 2022-06-03 20:09:29 +08:00
include mmu_gather: Remove per arch tlb_{start,end}_vma() 2022-07-21 10:50:13 -07:00
kernel LoongArch: Fix section mismatch warning 2022-07-07 17:41:01 +08:00
lib LoongArch: Add some library functions 2022-06-03 20:09:28 +08:00
mm LoongArch: Fix EENTRY/MERRENTRY setting in setup_tlb_handler() 2022-06-25 18:05:58 +08:00
pci LoongArch: Add build infrastructure 2022-06-03 20:09:27 +08:00
vdso LoongArch: Fix build errors for tinyconfig 2022-07-07 17:41:01 +08:00
Kbuild LoongArch: Add build infrastructure 2022-06-03 20:09:27 +08:00
Kconfig mmu_gather: Remove per arch tlb_{start,end}_vma() 2022-07-21 10:50:13 -07:00
Kconfig.debug LoongArch: Add build infrastructure 2022-06-03 20:09:27 +08:00
Makefile LoongArch: Add Loongson-3 default config file 2022-06-03 20:09:29 +08:00