From: Guo Ren <ren_guo@xxxxxxxxx> Julien Grall plan to seperate asid allocator into generic and vmid and other architectures could use it. ref: https://lore.kernel.org/linux-arm-kernel/20190321163623.20219-1-julien.grall@xxxxxxx/ For C-SKY the first implementation is from mips and it's not implemented well for SMP in performance. Arm's asid allocator is right for us and we've tested it in our all CPUs:610/807/810/860 and it really reduce the tlb flush. We'll continue stress testing before merge into master. It's good for all architectures in linux and let's continue the work. @Julien Could you give a seperate patch for add generic asid ? Guo Ren (4): csky: Revert mmu ASID mechanism arch: Add generic asid implement from arm csky: Use generic asid algorithm to implement switch_mm csky: Improve tlb operation with help of asid arch/csky/abiv1/inc/abi/ckmmu.h | 6 + arch/csky/abiv2/inc/abi/ckmmu.h | 10 ++ arch/csky/include/asm/asid.h | 77 ++++++++++++ arch/csky/include/asm/mmu.h | 2 +- arch/csky/include/asm/mmu_context.h | 114 ++--------------- arch/csky/include/asm/pgtable.h | 2 - arch/csky/kernel/smp.c | 2 - arch/csky/mm/Makefile | 2 + arch/csky/mm/asid.c | 185 ++++++++++++++++++++++++++++ arch/csky/mm/context.c | 46 +++++++ arch/csky/mm/init.c | 2 - arch/csky/mm/tlb.c | 238 ++++++++++++++---------------------- 12 files changed, 434 insertions(+), 252 deletions(-) create mode 100644 arch/csky/include/asm/asid.h create mode 100644 arch/csky/mm/asid.c create mode 100644 arch/csky/mm/context.c -- 2.7.4