Messages in this thread | ![/](/images/icornerl.gif) | | From | Nicholas Piggin <> | Subject | [PATCH 0/4] more mm switching vs TLB shootdown and lazy tlb | Date | Fri, 28 Aug 2020 20:00:18 +1000 |
| |
This is an attempt to fix a few different related issues around switching mm, TLB flushing, and lazy tlb mm handling.
This will require all architectures to eventually move to disabling irqs over activate_mm, but it's possible we could add another arch call after irqs are re-enabled for those few which can't do their entire activation with irqs disabled.
I'd like some feedback on the sparc/powerpc vs kthread_use_mm problem too.
Thanks, Nick
Nicholas Piggin (4): mm: fix exec activate_mm vs TLB shootdown and lazy tlb switching race powerpc: select ARCH_WANT_IRQS_OFF_ACTIVATE_MM sparc64: remove mm_cpumask clearing to fix kthread_use_mm race powerpc/64s/radix: Fix mm_cpumask trimming race vs kthread_use_mm
arch/Kconfig | 7 +++ arch/powerpc/Kconfig | 1 + arch/powerpc/include/asm/mmu_context.h | 2 +- arch/powerpc/include/asm/tlb.h | 13 ------ arch/powerpc/mm/book3s64/radix_tlb.c | 23 ++++++--- arch/sparc/kernel/smp_64.c | 65 ++++++-------------------- fs/exec.c | 17 ++++++- 7 files changed, 54 insertions(+), 74 deletions(-)
-- 2.23.0
| ![\](/images/icornerr.gif) |