• Jérôme Glisse's avatar
    mm/migrate: new memory migration helper for use with device memory · 8763cb45
    Jérôme Glisse authored
    This patch add a new memory migration helpers, which migrate memory
    backing a range of virtual address of a process to different memory (which
    can be allocated through special allocator).  It differs from numa
    migration by working on a range of virtual address and thus by doing
    migration in chunk that can be large enough to use DMA engine or special
    copy offloading engine.
    
    Expected users are any one with heterogeneous memory where different
    memory have different characteristics (latency, bandwidth, ...).  As an
    example IBM platform with CAPI bus can make use of this feature to migrate
    between regular memory and CAPI device memory.  New CPU architecture with
    a pool of high performance memory not manage as cache but presented as
    regular memory (while being faster and with lower latency than DDR) will
    also be prime user of this patch.
    
    Migration to private device memory will be useful for device that have
    large pool of such like GPU, NVidia plans to use HMM for that.
    
    Link: http://lkml.kernel.org/r/20170817000548.32038-15-jglisse@redhat.comSigned-off-by: default avatarJérôme Glisse <jglisse@redhat.com>
    Signed-off-by: default avatarEvgeny Baskakov <ebaskakov@nvidia.com>
    Signed-off-by: default avatarJohn Hubbard <jhubbard@nvidia.com>
    Signed-off-by: default avatarMark Hairgrove <mhairgrove@nvidia.com>
    Signed-off-by: default avatarSherry Cheung <SCheung@nvidia.com>
    Signed-off-by: default avatarSubhash Gutti <sgutti@nvidia.com>
    Cc: Aneesh Kumar <aneesh.kumar@linux.vnet.ibm.com>
    Cc: Balbir Singh <bsingharora@gmail.com>
    Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
    Cc: Dan Williams <dan.j.williams@intel.com>
    Cc: David Nellans <dnellans@nvidia.com>
    Cc: Johannes Weiner <hannes@cmpxchg.org>
    Cc: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
    Cc: Michal Hocko <mhocko@kernel.org>
    Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
    Cc: Ross Zwisler <ross.zwisler@linux.intel.com>
    Cc: Vladimir Davydov <vdavydov.dev@gmail.com>
    Cc: Bob Liu <liubo95@huawei.com>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    8763cb45
migrate.c 67.1 KB