> -----Original Message-----
> From: [email protected] [mailto:linux-rdma-
> [email protected]] On Behalf Of Sagi Grimberg
> Sent: Tuesday, October 07, 2014 8:18 PM
> To: [email protected]
> Cc: [email protected]; [email protected]; [email protected];
> [email protected]; [email protected]; [email protected]
> Subject: [PATCH RFC 0/2] Indirect Fast Memory registration support
>
> This patch set introduces support for registering a scattered memory area in
> an indirect manner.
>
> Current supported fast registration support has a known limitation where the
> memory must be page aligned, meaning memory scatters must be in chunks
> of page size except the first which may be in some offset from the start of a
> page and the last which may end before the page boundary.
>
> This can make life hard for ULPs which may serve a scattered list without the
> above limitations. Two immediate examples are iSER and SRP that have some
> extra logic or work-arounds to handle an arbitrary scatter list of buffers
> (which is supported in the entire stack above them).
>
> The proposed API attempts to follow the well-known fast registration
> scheme while allowing the ULP to pass an sg vector rather than a page list
> (u64 vector).
> I expect ULPs to make use of the global DMA key to populate the lkey of the
> sg vector. for example for a scatter list sg of 3 elements the indirect ib_sge
> vector will look like:
> ib_sge[0]: {dma_key, sg[0]->dma_addr, sg[0]->length}
Here each sge can be of max 4G like regular SGEs?
And can lkey in each SGE be different?
> ib_sge[1]: {dma_key, sg[1]->dma_addr, sg[1]->length}
> ib_sge[2]: {dma_key, sg[2]->dma_addr, sg[2]->length}
>
> Following this patch set I'll send out a usage for this feature in iSER.
> In the meantime, I have a working example of krping utility practicing
> indirect
> registration feature at: git://flatbed.openfabrics.org/~sgrimberg/krping.git
> (branch: indir_registration)
>
> Sagi Grimberg (2):
> IB/core: Introduce Fast Indirect Memory Registration verbs API
> IB/mlx5: Implement Fast Indirect Memory Registration Feature
>
> drivers/infiniband/core/verbs.c | 29 +++++++++
> drivers/infiniband/hw/mlx5/cq.c | 2 +
> drivers/infiniband/hw/mlx5/main.c | 4 +
> drivers/infiniband/hw/mlx5/mlx5_ib.h | 20 +++++++
> drivers/infiniband/hw/mlx5/mr.c | 70 ++++++++++++++++++++++-
> drivers/infiniband/hw/mlx5/qp.c | 104
> ++++++++++++++++++++++++++++++++++
> include/rdma/ib_verbs.h | 55 +++++++++++++++++-
> 7 files changed, 280 insertions(+), 4 deletions(-)
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the
> body of a message to [email protected] More majordomo info at
> http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html