|
|
Log in / Subscribe / Register

mmu_notifier semantic update

From:  Jérôme Glisse <jglisse-AT-redhat.com>
To:  linux-kernel-AT-vger.kernel.org, linux-mm-AT-kvack.org
Subject:  [PATCH 0/4] mmu_notifier semantic update
Date:  Tue, 29 Aug 2017 16:11:28 -0400
Message-ID:  <20170829201132.9292-1-jglisse@redhat.com>
Cc:  =?UTF-8?q?J=C3=A9r=C3=B4me=20Glisse?= <jglisse-AT-redhat.com>, Linus Torvalds <torvalds-AT-linux-foundation.org>, Bernhard Held <berny156-AT-gmx.de>, Adam Borowski <kilobyte-AT-angband.pl>, Andrea Arcangeli <aarcange-AT-redhat.com>, =?UTF-8?q?Radim=20Kr=C4=8Dm=C3=A1=C5=99?= <rkrcmar-AT-redhat.com>, Wanpeng Li <kernellwp-AT-gmail.com>, Paolo Bonzini <pbonzini-AT-redhat.com>, Takashi Iwai <tiwai-AT-suse.de>, Nadav Amit <nadav.amit-AT-gmail.com>, Mike Galbraith <efault-AT-gmx.de>, "Kirill A . Shutemov" <kirill.shutemov-AT-linux.intel.com>, axie <axie-AT-amd.com>, Andrew Morton <akpm-AT-linux-foundation.org>, Dan Williams <dan.j.williams-AT-intel.com>, Ross Zwisler <ross.zwisler-AT-linux.intel.com>

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@...
https://lkml.kernel.org/r/20170804134928.l4klfcnqatni7vsc...
https://marc.info/?l=kvm&m=150327081325160&w=2

Signed-off-by: Jérôme Glisse <jglisse@redhat.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Bernhard Held <berny156@gmx.de>
Cc: Adam Borowski <kilobyte@angband.pl>
Cc: Andrea Arcangeli <aarcange@redhat.com>
Cc: Radim Krčmář <rkrcmar@redhat.com>
Cc: Wanpeng Li <kernellwp@gmail.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Takashi Iwai <tiwai@suse.de>
Cc: Nadav Amit <nadav.amit@gmail.com>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
Cc: axie <axie@amd.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Dan Williams <dan.j.williams@intel.com>
Cc: Ross Zwisler <ross.zwisler@linux.intel.com>

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

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>



Copyright © 2017, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds