On Wed, Feb 20, 2008 at 01:03:24PM +0100, Andrea Arcangeli wrote: > I'm unconvinced both the main linux VM and the mmu notifier should be > changed like this just to support xpmem. All non-sleeping users don't > need that. Nevertheless I'm fully welcome to support xpmem (and it's > not my call nor my interest to comment if allocating skbs in > try_to_unmap in order to unpin pages is workable, let's assume it's > workable for the sake of this discussion) with a new config option > that will also alter how the core VM works, in order to fully support > the sleeping users for filebacked mappings.
We do not need to do any allocation in the messaging layer, all structures used for messaging are allocated at module load time. The allocation discussions we had early on were about trying to rearrange you notifiers to allow a seperate worker thread to do the invalidate and then the main thread would spin waiting for the worker to complete. That was canned by the moving your notifier to before the lock was grabbed which led us to the point of needing a _begin and _end. > This will also create less confusion in the registration. With > Christoph's one-config-option-fits-all you had to half register into > the mmu notifier (the sleeping calls, so not invalidate_page) and full > register in the external rmap notifier, and I had to only half > register into the mmu notifier (not range_begin) and not register in > the rmap external notifier. > > With two separate config options for sleeping and non sleeping users, > I'll 100% register in the mmu notifier methods, and the non-sleeping > users will 100% register the xpmem methods. You won't have to have > designed the mmu notifier patches to understand how to use it. So, fundamentally, how would they be different? Would we be required to add another notifier list to the mm and have two seperate callout points? Reduction would end up with the same half-registered half-not-registered situation you point out above. Then further reduction would lead to the elimination of the callouts you have just proposed and using the _begin/_end callouts and we are back to Christoph's current patch. Robin ------------------------------------------------------------------------- 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