The following short patch series completes the support for allowing clients to sleep in mmu notifiers (specifically in invalidate_page and invalidate_range_start/end), adding on the work done by Andrea Arcangeli and Sagi Grimberg in http://marc.info/?l=linux-mm&m=133113297028676&w=3 This patchset is a preliminary step towards on-demand paging design to be added to the Infiniband stack. Our goal is to avoid pinning pages in memory regions registered for IB communication, so we need to get notifications for invalidations on such memory regions, and stop the hardware from continuing its access to the invalidated pages. The hardware operation that flushes the page tables can block, so we need to sleep until the hardware is guaranteed not to access these pages anymore. The first patch moves the mentioned notifier functions out of the PTL, and the other two patches prevent notifiers from sleeping between calls to tlb_gather_mmu and tlb_flush_mmu. I believe that Peter Zijlstra made a comment saying that patch 2 isn't needed anymore. For the same reason patch 3 would no longer be necessary. Let's discuss this now... Regards, Haggai Eran Sagi Grimberg (3): mm: Move all mmu notifier invocations to be done outside the PT lock mm: Move the tlb flushing into free_pgtables mm: Move the tlb flushing inside of unmap vmas include/linux/mmu_notifier.h | 48 -------------------------------------------- mm/filemap_xip.c | 4 +++- mm/huge_memory.c | 32 +++++++++++++++++++++++------ mm/hugetlb.c | 15 ++++++++------ mm/memory.c | 25 +++++++++++++---------- mm/mmap.c | 7 ------- mm/rmap.c | 27 ++++++++++++++++++------- 7 files changed, 72 insertions(+), 86 deletions(-) -- 1.7.11.2 -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>