All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH RFC 0/2] Indirect Fast Memory registration support
@ 2014-10-07 14:47 Sagi Grimberg
       [not found] ` <1412693281-6161-1-git-send-email-sagig-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
  0 siblings, 1 reply; 31+ messages in thread
From: Sagi Grimberg @ 2014-10-07 14:47 UTC (permalink / raw)
  To: linux-rdma-u79uwXL29TY76Z2rM5mHXA
  Cc: bvanassche-HInyCGIudOg, roland-DgEjT+Ai2ygdnm+yROfE0A,
	eli-VPRAkNaXOzVWk0Htik3J/w, ogerlitz-VPRAkNaXOzVWk0Htik3J/w,
	oren-VPRAkNaXOzVWk0Htik3J/w, sean.hefty-ral2JQCrhuEAvxtiuMwx3w

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}
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 majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 31+ messages in thread

end of thread, other threads:[~2014-10-21 14:30 UTC | newest]

Thread overview: 31+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-10-07 14:47 [PATCH RFC 0/2] Indirect Fast Memory registration support Sagi Grimberg
     [not found] ` <1412693281-6161-1-git-send-email-sagig-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2014-10-07 14:48   ` [PATCH RFC 1/2] IB/core: Introduce Fast Indirect Memory Registration verbs API Sagi Grimberg
     [not found]     ` <1412693281-6161-2-git-send-email-sagig-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2014-10-07 18:12       ` Steve Wise
     [not found]         ` <54342D0C.6050103-7bPotxP6k4+P2YhJcF5u+vpXobYPEAuW@public.gmane.org>
2014-10-08  5:48           ` Sagi Grimberg
     [not found]             ` <5434D037.4040208-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
2014-10-08 13:54               ` Steve Wise
2014-10-13  7:57                 ` Sagi Grimberg
     [not found]                   ` <543B85F7.1060000-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
2014-10-13 14:41                     ` Steve Wise
2014-10-14  5:40       ` Bart Van Assche
     [not found]         ` <543CB76B.7020208-HInyCGIudOg@public.gmane.org>
2014-10-19 19:01           ` Sagi Grimberg
     [not found]             ` <54440A7E.200-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
2014-10-20 14:54               ` Steve Wise
2014-10-07 14:48   ` [PATCH RFC 2/2] IB/mlx5: Implement Fast Indirect Memory Registration Feature Sagi Grimberg
     [not found]     ` <1412693281-6161-3-git-send-email-sagig-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2014-10-12 19:39       ` Or Gerlitz
     [not found]         ` <543AD8DE.5060404-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2014-10-13  8:32           ` Sagi Grimberg
     [not found]             ` <543B8E09.6090606-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
2014-10-13 12:57               ` Or Gerlitz
2014-10-13 13:00               ` Or Gerlitz
2014-10-21 13:12               ` Eli Cohen
2014-10-14  5:41       ` Bart Van Assche
     [not found]         ` <543CB79B.6050400-HInyCGIudOg@public.gmane.org>
2014-10-14 10:50           ` Sagi Grimberg
2014-10-19 19:34           ` Sagi Grimberg
     [not found]             ` <5444122C.6070804-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
2014-10-20  7:46               ` Bart Van Assche
     [not found]                 ` <5444BDDC.1060507-HInyCGIudOg@public.gmane.org>
2014-10-21  9:32                   ` Sagi Grimberg
     [not found]                     ` <54462842.8080701-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
2014-10-21 10:54                       ` Bart Van Assche
     [not found]                         ` <54463B4A.1070308-HInyCGIudOg@public.gmane.org>
2014-10-21 10:59                           ` Sagi Grimberg
2014-10-21 14:20               ` Eli Cohen
2014-10-21 14:30                 ` Sagi Grimberg
2014-10-08 11:06   ` [PATCH RFC 0/2] Indirect Fast Memory registration support Devesh Sharma
     [not found]     ` <EE7902D3F51F404C82415C4803930ACD40C4114B-DWYeeINJQrxExQ8dmkPuX0M9+F4ksjoh@public.gmane.org>
2014-10-13  8:01       ` Sagi Grimberg
2014-10-12 19:43   ` Or Gerlitz
     [not found]     ` <543AD9CD.80803-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2014-10-13  8:48       ` Bart Van Assche
     [not found]         ` <543B91E2.70206-HInyCGIudOg@public.gmane.org>
2014-10-13 11:18           ` Sagi Grimberg
     [not found]             ` <543BB4F4.8090203-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
2014-10-13 14:51               ` Steve Wise

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.