Skip to content

RFC MMU Notifiers V2

Christoph Lameter kvm linux-mm lkml 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 RFC Latest6 patches 63 repliesIn review

V1->V2 from the cover letter

- Improve RCU support
- Use mmap_sem for mmu_notifier register / unregister
- Drop invalidate_page from COW, mm/fremap.c and mm/rmap.c since we already have invalidate_range() callbacks there.
- Clean compile for !MMU_NOTIFIER
- Isolate filemap_xip strangeness into its own diff
- Pass a the flag to invalidate_range to indicate if a spinlock is held.
- Add invalidate_all()

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/6mmu_notifier: Core codeinclude/linux/list.h include/linux/mm_types.h include/linux/mmu_notifier.h +6 more+350 -011 replies
2/6mmu_notifier: Callbacks to invalidate address rangesmm/fremap.c mm/hugetlb.c mm/memory.c +1 more+14 -246 replies
3/6mmu_notifier: invalidate_page callbacks for subsystems with rmapmm/rmap.c+6 -01 reply
4/6MMU notifier: invalidate_page callbacks using Linux rmapsmm/rmap.c+11 -13 replies
5/6mmu_notifier: Callbacks for xip_filemap.cmm/filemap_xip.c+5 -00 replies
6/6mmu_notifier: Add invalidate_all()include/linux/mmu_notifier.h mm/mmap.c+5 -02 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [patch 0/6] [RFC] MMU Notifiers V2

This is a patchset implementing MMU notifier callbacks based on Andrea's earlier work. These are needed if Linux pages are referenced from something else than tracked by the rmaps of the kernel.

Issues:

- Feedback from uses of the callbacks for KVM, RDMA, XPmem and GRU

- RCU quiescent periods are required on registering and unregistering notifiers to guarantee visibility to other processors. Currently only mmu_notifier_release() does the correct thing. It is up to the user to provide RCU quiescent periods for register/unregister functions if they are called outside of the ->release method.

Andrea's mmu_notifier #4 -> RFC V1

- Merge subsystem rmap based with Linux rmap based approach
- Move Linux rmap based notifiers out of macro
- Try to account for what locks are held while the notifiers are called.
- Develop a patch sequence that separates out the different types of hooks so that we can review their use.
- Avoid adding include to linux/mm_types.h
- Integrate RCU logic suggested by Peter.

V1->V2:
- Improve RCU support
- Use mmap_sem for mmu_notifier register / unregister
- Drop invalidate_page from COW, mm/fremap.c and mm/rmap.c since we already have invalidate_range() callbacks there.
- Clean compile for !MMU_NOTIFIER
- Isolate filemap_xip strangeness into its own diff
- Pass a the flag to invalidate_range to indicate if a spinlock is held.
- Add invalidate_all()

Signature · 4 lines
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/