This is a v2 of the hmm patchset. I intentionaly removed the remote memory support from this version as i would like to see the basic hmm foundation merge for next kernel (3.17). It apply on top of linux-next. Below is the nutshell and motivation for hmm. Anyone more curious should refer to my previous email as it contains a deeper analysis. I should stress again that dedicated video memory is not vanishing on the contrary the bandwidth and latency gap between system memory and dedicated video memory is growing. Also as stated in previous discusion, hmm can only be implemented using the mmu_notifier api (or it would need to insert callback in all same spot as the mmu_notifier). What hmm needs can not be achieve during tlb flush. In a nutshell: The heterogeneous memory management (hmm) patchset implement a new api that sit on top of the mmu notifier api. It provides a simple api to device driver to mirror a process address space without having to lock or take reference on page and block them from being reclam or migrated. Any changes on a process address space is mirrored to the device page table by the hmm code. To achieve this not only we need each driver to implement a set of callback functions but hmm also interface itself in many key location of the mm code and fs code. Moreover hmm allow to migrate range of memory to the device remote memory to take advantages of its lower latency and higher bandwidth. The why: We want to be able to mirror a process address space so that compute api such as OpenCL or other similar api can start using the exact same address space on the GPU as on the CPU. This will greatly simplify usages of those api. Moreover we believe that we will see more and more specialize unit functions that will want to mirror process address using their own mmu. Cheers, Jérôme Glisse To: "Andrew Morton" <akpm@xxxxxxxxxxxxxxxxxxxx>, Cc: <linux-kernel@xxxxxxxxxxxxxxx>, Cc: linux-mm <linux-mm@xxxxxxxxx>, Cc: <linux-fsdevel@xxxxxxxxxxxxxxx>, Cc: "Linus Torvalds" <torvalds@xxxxxxxxxxxxxxxxxxxx>, Cc: "Mel Gorman" <mgorman@xxxxxxx>, Cc: "H. Peter Anvin" <hpa@xxxxxxxxx>, Cc: "Peter Zijlstra" <peterz@xxxxxxxxxxxxx>, Cc: "Linda Wang" <lwang@xxxxxxxxxx>, Cc: "Kevin E Martin" <kem@xxxxxxxxxx>, Cc: "Jerome Glisse" <jglisse@xxxxxxxxxx>, Cc: "Andrea Arcangeli" <aarcange@xxxxxxxxxx>, Cc: "Johannes Weiner" <jweiner@xxxxxxxxxx>, Cc: "Larry Woodman" <lwoodman@xxxxxxxxxx>, Cc: "Rik van Riel" <riel@xxxxxxxxxx>, Cc: "Dave Airlie" <airlied@xxxxxxxxxx>, Cc: "Jeff Law" <law@xxxxxxxxxx>, Cc: "Brendan Conoboy" <blc@xxxxxxxxxx>, Cc: "Joe Donohue" <jdonohue@xxxxxxxxxx>, Cc: "Duncan Poole" <dpoole@xxxxxxxxxx>, Cc: "Sherry Cheung" <SCheung@xxxxxxxxxx>, Cc: "Subhash Gutti" <sgutti@xxxxxxxxxx>, Cc: "John Hubbard" <jhubbard@xxxxxxxxxx>, Cc: "Mark Hairgrove" <mhairgrove@xxxxxxxxxx>, Cc: "Lucien Dunning" <ldunning@xxxxxxxxxx>, Cc: "Cameron Buschardt" <cabuschardt@xxxxxxxxxx>, Cc: "Arvind Gopalakrishnan" <arvindg@xxxxxxxxxx>, Cc: "Haggai Eran" <haggaie@xxxxxxxxxxxx>, Cc: "Or Gerlitz" <ogerlitz@xxxxxxxxxxxx>, Cc: "Sagi Grimberg" <sagig@xxxxxxxxxxxx> Cc: "Shachar Raindel" <raindel@xxxxxxxxxxxx>, Cc: "Liran Liss" <liranl@xxxxxxxxxxxx>, Cc: "Roland Dreier" <roland@xxxxxxxxxxxxxxx>, Cc: "Sander, Ben" <ben.sander@xxxxxxx>, Cc: "Stoner, Greg" <Greg.Stoner@xxxxxxx>, Cc: "Bridgman, John" <John.Bridgman@xxxxxxx>, Cc: "Mantor, Michael" <Michael.Mantor@xxxxxxx>, Cc: "Blinzer, Paul" <Paul.Blinzer@xxxxxxx>, Cc: "Morichetti, Laurent" <Laurent.Morichetti@xxxxxxx>, Cc: "Deucher, Alexander" <Alexander.Deucher@xxxxxxx>, Cc: "Gabbay, Oded" <Oded.Gabbay@xxxxxxx>, -- 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>