linux/arch/arc
Vineet Gupta 1355ea2e60 ARC: mm: tlb flush optim: elide repeated uTLB invalidate in loop
The unconditional full TLB flush (on say ASID rollover) iterates over each
entry and uses TLBWrite to zero it out. TLBWrite by design also invalidates
the uTLBs thus we end up invalidating it as many times as numbe rof
entries (512 or 1k)

Optimize this by using a weaker TLBWriteNI cmd in loop, which doesn't
tinker with uTLBs and an explicit one time IVUTLB, outside the loop to
invalidate them all once.

And given the optimiztion, the IVUTLB is now needed on MMUv4 too where
the uTLBs and JTLBs are otherwise coherent given the TLBInsertEntry /
TLBDeleteEntry commands

Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
2019-10-28 12:12:32 -07:00
..
boot ARC: nSIM_700: remove unused network options 2019-10-28 12:12:31 -07:00
configs ARC: nSIM_700: remove unused network options 2019-10-28 12:12:31 -07:00
include ARC: mm: tlb flush optim: Make TLBWriteNI fallback to TLBWrite if not available 2019-10-28 12:12:32 -07:00
kernel Wimplicit-fallthrough patches for 5.3-rc7 2019-08-29 09:28:25 -07:00
lib treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
mm ARC: mm: tlb flush optim: elide repeated uTLB invalidate in loop 2019-10-28 12:12:32 -07:00
oprofile treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
plat-axs10x treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
plat-eznps arch: replace _BITUL() in kernel-space headers with BIT() 2019-07-16 19:23:22 -07:00
plat-hsdk ARC: [plat-hsdk]: allow to switch between AXI DMAC port configurations 2019-08-05 19:25:57 +05:30
plat-sim ARC: merge HAPS-HS with nSIM-HS configs 2019-10-28 12:12:31 -07:00
plat-tb10x treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 333 2019-06-05 17:37:06 +02:00
Kbuild treewide: Add SPDX license identifier - Kbuild 2019-05-30 11:32:33 -07:00
Kconfig dma-mapping updates for Linux 5.3 2019-07-12 15:13:55 -07:00
Kconfig.debug Kconfig: consolidate the "Kernel hacking" menu 2018-08-02 08:06:48 +09:00
Makefile ARC: merge HAPS-HS with nSIM-HS configs 2019-10-28 12:12:31 -07:00