APPLIED: [PATCH][hirsute] UBUNTU: SAUCE: RDMA/core: Introduce peer memory interface
Seth Forshee
seth.forshee at canonical.com
Thu Apr 8 20:28:13 UTC 2021
On Thu, Apr 08, 2021 at 08:37:58AM -0600, dann frazier wrote:
> From: Jason Gunthorpe <jgg at nvidia.com>
>
> The peer_memory_client scheme allows a driver to register with the ib_umem
> system that it has the ability to understand user virtual address ranges
> that are not compatible with get_user_pages(). For instance VMAs created
> with io_remap_pfn_range(), or other driver special VMA.
>
> For ranges the interface understands it can provide a DMA mapped sg_table
> for use by the ib_umem, allowing user virtual ranges that cannot be
> supported by get_user_pages() to be used as umems for RDMA.
>
> This is designed to preserve the kABI, no functions or structures are
> changed, only new symbols are added:
>
> ib_register_peer_memory_client
> ib_unregister_peer_memory_client
> ib_umem_activate_invalidation_notifier
> ib_umem_get_peer
>
> And a bitfield in struct ib_umem uses more bits.
>
> This interface is compatible with the two out of tree GPU drivers:
> https://github.com/RadeonOpenCompute/ROCK-Kernel-Driver/blob/master/drivers/gpu/drm/amd/amdkfd/kfd_peerdirect.c
> https://github.com/Mellanox/nv_peer_memory/blob/master/nv_peer_mem.c
>
> Signed-off-by: Yishai Hadas <yishaih at mellanox.com>
> Signed-off-by: Feras Daoud <ferasda at mellanox.com>
> Signed-off-by: Jason Gunthorpe <jgg at mellanox.com>
> Signed-off-by: Leon Romanovsky <leonro at nvidia.com>
> (cherry picked from commit a42989294cf39d6e829424734ab0e7ec48bebcef git://git.kernel.org/pub/scm/linux/kernel/git/leon/linux-rdma.git gpu-v5.11)
> Signed-off-by: dann frazier <dann.frazier at canonical.com>
Applied to hirsute/master-next and unstable/master, thanks!
More information about the kernel-team
mailing list