Andrea Arcangeli wrote: > On Thu, Jan 24, 2008 at 09:56:06PM -0800, Christoph Lameter wrote: > >> 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 it is easier to review their use. >> - Avoid adding #include to linux/mm_types.h >> - Integrate RCU logic suggested by Peter. >> > > I'm glad you're converging on something a bit saner and much much > closer to my code, plus perfectly usable by KVM optimal rmap design > too. It would have preferred if you would have sent me patches like > Peter did for review and merging etc... that would have made review > especially easier. Anyway I'm used to that on lkml so it's ok, I just > need this patch to be included in mainline, everything else is > irrelevant to me. > > On a technical merit this still partially makes me sick and I think > it's the last issue to debate. > > @@ -971,6 +974,9 @@ int try_to_unmap(struct page *page, int > else > ret = try_to_unmap_file(page, migration); > > + if (unlikely(PageExternalRmap(page))) > + mmu_rmap_notifier(invalidate_page, page); > + > if (!page_mapped(page)) > ret = SWAP_SUCCESS; > return ret; > > I find the above hard to accept, because the moment you work with > physical pages and not "mm+address" I think you couldn't possibly care > if page_mapped is true or false, and I think the above notifier should > be called _outside_ try_to_unmap. Infact I'd call > mmu_rmap_notifier(invalidate_page, page); only if page_unmapped is > false and the linux pte is gone already (practically just before the > page_count == 2 check and after try_to_unmap). >
i dont understand how is that better than notification on tlb flush? i mean cpus have very smiler problem as we do, so why not deal with the notification at the same place as they do (tlb flush) ? moreover notification on tlb flush allow unmodified applications to work with us for example the memory merging driver that i wrote was able to work with kvm without any change to its source code. ------------------------------------------------------------------------- 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/ _______________________________________________ kvm-devel mailing list kvm-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/kvm-devel