Hi all, This is version two of the patches I previously posted here: https://lore.kernel.org/r/20201120143557.6715-1-will@xxxxxxxxxx Since then, the arm64 fixes have been merged upstream, so this series is now mainly just cleanup, with the exception of the first patch which no longer appears to be theoretical after a bug report came up independently: https://lore.kernel.org/linux-mm/CA+32v5zzFYJQ7eHfJP-2OHeR+6p5PZsX=RDJNU6vGF3hLO+j-g@xxxxxxxxxxxxxx/ (albeit in a test case, but I think we should restore the old behaviour) Changes since v1 include: * Remove the MMU gather code from the soft-dirty path altogether, making it consistent with the mprotect() path in terms of handling the TLB invalidation explicitly. * Remove start/end arguments from tlb_gather_mmu() * Improve commit messages and fix typos Cheers, Will Cc: Yu Zhao <yuzhao@xxxxxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx Cc: Vlastimil Babka <vbabka@xxxxxxx> Cc: Mohamed Alzayat <alzayat@xxxxxxxxxxx> Cc: "Aneesh Kumar K.V" <aneesh.kumar@xxxxxxxxxxxxx> Cc: linux-mm@xxxxxxxxx --->8 Will Deacon (6): mm: proc: Invalidate TLB after clearing soft-dirty page state tlb: mmu_gather: Remove unused start/end arguments from tlb_finish_mmu() tlb: mmu_gather: Introduce tlb_gather_mmu_fullmm() tlb: mmu_gather: Remove start/end arguments from tlb_gather_mmu() tlb: arch: Remove empty __tlb_remove_tlb_entry() stubs x86/ldt: Use tlb_gather_mmu_fullmm() when freeing LDT page-tables arch/ia64/include/asm/tlb.h | 4 ++-- arch/sparc/include/asm/tlb_64.h | 1 - arch/x86/include/asm/tlb.h | 1 - arch/x86/kernel/ldt.c | 10 ++++++++-- fs/exec.c | 4 ++-- fs/proc/task_mmu.c | 9 +++++---- include/asm-generic/tlb.h | 6 ++++-- include/linux/mm_types.h | 7 +++---- mm/hugetlb.c | 18 ++---------------- mm/madvise.c | 12 ++++++------ mm/memory.c | 8 ++++---- mm/mmap.c | 8 ++++---- mm/mmu_gather.c | 31 +++++++++++++++++-------------- mm/oom_kill.c | 6 +++--- 14 files changed, 60 insertions(+), 65 deletions(-) -- 2.29.2.576.ga3fc446d84-goog