]> git.proxmox.com Git - mirror_ubuntu-kernels.git/commit
openrisc: Implement proper SMP tlb flushing
authorStafford Horne <shorne@gmail.com>
Tue, 23 Jun 2020 19:44:05 +0000 (04:44 +0900)
committerStafford Horne <shorne@gmail.com>
Tue, 4 Aug 2020 01:59:45 +0000 (10:59 +0900)
commitc28b27416da91659ad580074db6756b2ab7e62da
tree4c9463d6d6bc0121c76e33ba751558fa84bf5d8f
parent57b8e277c33620e115633cdf700a260b55095460
openrisc: Implement proper SMP tlb flushing

Up until now when flushing pages from the TLB on SMP OpenRISC was always
resorting to flush the entire TLB on all CPUs.  This patch adds the
mechanics for flushing specific ranges and pages based on the usage.

The function switch_mm is updated to account for cpu usage by updating
mm_struct's cpumask.  This is used in the SMP flush routines.

This mostly follows the riscv implementation.

Signed-off-by: Stafford Horne <shorne@gmail.com>
arch/openrisc/kernel/smp.c
arch/openrisc/mm/tlb.c