[PATCH 0/4] mmu_notifier semantic update

From: JÃrÃme Glisse
Date: Tue Aug 29 2017 - 16:11:42 EST


So we do not want to allow sleep during call to mmu_notifier_invalidate_page()
but some code do not have surrounding mmu_notifier_invalidate_range_start()/
mmu_notifier_invalidate_range_end() or mmu_notifier_invalidate_range()

This patch serie just make sure that there is at least a call (outside spinlock
section) to mmu_notifier_invalidate_range() after mmu_notifier_invalidate_page()

This fix issue with AMD IOMMU v2 while avoiding to introduce issue for others
user of the mmu_notifier API. For releavent threads see:

https://lkml.kernel.org/r/20170809204333.27485-1-jglisse@xxxxxxxxxx
https://lkml.kernel.org/r/20170804134928.l4klfcnqatni7vsc@xxxxxxxxxxxxxxxxxx
https://marc.info/?l=kvm&m=150327081325160&w=2

Signed-off-by: JÃrÃme Glisse <jglisse@xxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Bernhard Held <berny156@xxxxxx>
Cc: Adam Borowski <kilobyte@xxxxxxxxxx>
Cc: Andrea Arcangeli <aarcange@xxxxxxxxxx>
Cc: Radim KrÄmÃÅ <rkrcmar@xxxxxxxxxx>
Cc: Wanpeng Li <kernellwp@xxxxxxxxx>
Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Cc: Takashi Iwai <tiwai@xxxxxxx>
Cc: Nadav Amit <nadav.amit@xxxxxxxxx>
Cc: Mike Galbraith <efault@xxxxxx>
Cc: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
Cc: axie <axie@xxxxxxx>
Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Cc: Dan Williams <dan.j.williams@xxxxxxxxx>
Cc: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx>

JÃrÃme Glisse (4):
mm/mmu_notifier: document new behavior for
mmu_notifier_invalidate_page()
dax/mmu_notifier: update to new mmu_notifier semantic
mm/rmap: update to new mmu_notifier_invalidate_page() semantic
iommu/amd: update to new mmu_notifier_invalidate_page() semantic

drivers/iommu/amd_iommu_v2.c | 8 --------
fs/dax.c | 8 ++++++--
include/linux/mmu_notifier.h | 6 ++++++
mm/rmap.c | 18 +++++++++++++++++-
4 files changed, 29 insertions(+), 11 deletions(-)

--
2.13.5