mirror of
https://github.com/torvalds/linux.git
synced 2026-08-20 22:42:58 +02:00
The umem DMA list calculation was locked at 4k pages due to confusion around how this API works and is used when larger pages are present. The conclusion is: - umem's cannot extend past what is mapped into the process, so creating a lage page size and referring to a sub-range is not allowed - umem's must always have a page offset of zero, except for sub PAGE_SIZE umems - The feature of umem_offset to create multiple objects inside a umem is buggy and isn't used anyplace. Thus we can assume all users of the current API have umem_offset == 0 as well Provide a new page size calculator that limits the DMA list to the VA range and enforces umem_offset == 0. Allow user space to specify the page sizes which it can accept, this bitmap must be derived from the intended use of the umem, based on per-usage HW limitations. Link: https://lore.kernel.org/r/20210304130501.1102577-4-leon@kernel.org Signed-off-by: Yishai Hadas <yishaih@nvidia.com> Signed-off-by: Leon Romanovsky <leonro@nvidia.com> Signed-off-by: Jason Gunthorpe <jgg@nvidia.com> |
||
|---|---|---|
| .. | ||
| hfi | ||
| bnxt_re-abi.h | ||
| cxgb4-abi.h | ||
| efa-abi.h | ||
| hns-abi.h | ||
| i40iw-abi.h | ||
| ib_user_ioctl_cmds.h | ||
| ib_user_ioctl_verbs.h | ||
| ib_user_mad.h | ||
| ib_user_sa.h | ||
| ib_user_verbs.h | ||
| mlx4-abi.h | ||
| mlx5_user_ioctl_cmds.h | ||
| mlx5_user_ioctl_verbs.h | ||
| mlx5-abi.h | ||
| mthca-abi.h | ||
| ocrdma-abi.h | ||
| qedr-abi.h | ||
| rdma_netlink.h | ||
| rdma_user_cm.h | ||
| rdma_user_ioctl_cmds.h | ||
| rdma_user_ioctl.h | ||
| rdma_user_rxe.h | ||
| rvt-abi.h | ||
| siw-abi.h | ||
| vmw_pvrdma-abi.h | ||