[PATCH v2 0/4] fix several TLB batch races

From: Minchan Kim
Date: Tue Aug 01 2017 - 01:56:38 EST


Nadav and Mel founded several subtle races caused by TLB batching.
This patchset aims for solving thoses problems using embedding
[inc|dec]_tlb_flush_pending to TLB batching API.
With that, places to know TLB flush pending catch it up by
using mm_tlb_flush_pending.

Each patch includes detailed description.

This patchset is based on v4.13-rc2-mmots-2017-07-28-16-10 +
"[PATCH v5 0/3] mm: fixes of tlb_flush_pending races" from Nadav

* from v1
* TLB batching API separation core part from arch specific one - Mel
* introduce mm_tlb_flush_nested - Mel

Minchan Kim (4):
mm: refactoring TLB gathering API
mm: make tlb_flush_pending global
mm: fix MADV_[FREE|DONTNEED] TLB flush miss problem
mm: fix KSM data corruption

arch/arm/include/asm/tlb.h | 11 ++++++--
arch/ia64/include/asm/tlb.h | 8 ++++--
arch/s390/include/asm/tlb.h | 17 ++++++++-----
arch/sh/include/asm/tlb.h | 8 +++---
arch/um/include/asm/tlb.h | 13 +++++++---
fs/proc/task_mmu.c | 4 ++-
include/asm-generic/tlb.h | 7 ++---
include/linux/mm_types.h | 35 ++++++++++---------------
mm/debug.c | 2 --
mm/ksm.c | 3 ++-
mm/memory.c | 62 +++++++++++++++++++++++++++++++--------------
11 files changed, 107 insertions(+), 63 deletions(-)

--
2.7.4