mirror_ubuntu-kernels/drivers/infiniband/hw
Michal Kalderon c043ff2cfb RDMA: Connect between the mmap entry and the umap_priv structure
The rdma_user_mmap_io interface created a common interface for drivers to
correctly map hw resources and zap them once the ucontext is destroyed
enabling the drivers to safely free the hw resources.

However, this meant the drivers need to delay freeing the resource to the
ucontext destroy phase to ensure they were no longer mapped.  The new
mechanism for a common way of handling user/driver address mapping enabled
notifying the driver if all umap_priv mappings were removed, and enabled
freeing the hw resources when they are done with and not delay it until
ucontext destroy.

Since not all drivers use the mechanism, NULL can be sent to the
rdma_user_mmap_io interface to continue working as before.  Drivers that
use the mmap_xa interface can pass the entry being mapped to the
rdma_user_mmap_io function to be linked together.

Link: https://lore.kernel.org/r/20191030094417.16866-4-michal.kalderon@marvell.com
Signed-off-by: Ariel Elior <ariel.elior@marvell.com>
Signed-off-by: Michal Kalderon <michal.kalderon@marvell.com>
Reviewed-by: Jason Gunthorpe <jgg@mellanox.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
2019-11-06 13:08:01 -04:00
..
bnxt_re RDMA/bnxt_re: Enable SRIOV VF support on Broadcom's 57500 adapter series 2019-10-08 16:22:24 -03:00
cxgb4 Linux 5.4-rc5 2019-10-28 16:36:29 -03:00
efa RDMA: Connect between the mmap entry and the umap_priv structure 2019-11-06 13:08:01 -04:00
hfi1 RDMA/hfi1: Prevent memory leak in sdma_init 2019-10-01 11:34:55 -03:00
hns RDMA: Connect between the mmap entry and the umap_priv structure 2019-11-06 13:08:01 -04:00
i40iw RDMA/i40iw: Associate ibdev to netdev before IB device registration 2019-10-04 14:29:14 -03:00
mlx4 RDMA: Connect between the mmap entry and the umap_priv structure 2019-11-06 13:08:01 -04:00
mlx5 RDMA: Connect between the mmap entry and the umap_priv structure 2019-11-06 13:08:01 -04:00
mthca IB: Remove unneeded memset 2019-07-03 14:26:49 -03:00
ocrdma RDMA: Introduce ib_port_phys_state enum 2019-08-12 10:18:52 -04:00
qedr RDMA/qedr: Fix memory leak in user qp and mr 2019-10-28 14:01:36 -03:00
qib mm/gup: add make_dirty arg to put_user_pages_dirty_lock() 2019-09-24 15:54:08 -07:00
usnic mm/gup: add make_dirty arg to put_user_pages_dirty_lock() 2019-09-24 15:54:08 -07:00
vmw_pvrdma Linux 5.4-rc5 2019-10-28 16:36:29 -03:00
Makefile RDMA/iw_cxgb3: Remove the iw_cxgb3 module from kernel 2019-10-04 15:08:59 -03:00