All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sagi Grimberg <sagig-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
To: Bart Van Assche <bvanassche-HInyCGIudOg@public.gmane.org>,
	Or Gerlitz <or.gerlitz-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
	Roland Dreier <roland-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
	Hefty Sean <sean.hefty-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>,
	Sagi Grimberg <sagig-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
Cc: linux-rdma <linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	Mike Christie <michaelc-hcNo3dDEHLuVc3sceRu5cw@public.gmane.org>,
	Oren Duer <oren-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
Subject: Re: linux rdma 3.14 merge plans
Date: Wed, 29 Jan 2014 17:06:46 +0200	[thread overview]
Message-ID: <52E91906.70802@dev.mellanox.co.il> (raw)
In-Reply-To: <52E90C81.9040800-HInyCGIudOg@public.gmane.org>

On 1/29/2014 4:13 PM, Bart Van Assche wrote:
> On 01/28/14 22:02, Or Gerlitz wrote:
>>>>> Roland, ping! the signature patches were posted > three months ago.
> I have a question about RDMA and T10-DIF support. The Linux block layer,
> the Linux SCSI core, Linux filesystems and block drivers all support
> discontiguous buffers. These are buffers that cannot be mapped onto a
> single contiguous range of virtual memory addresses. I think the RDMA
> FMR and FR memory registration mechanisms only support mapping a range
> of addresses that can be mapped onto a contiguous region of virtual
> addresses. This means that either multiple RDMA memory regions are
> needed to map a discontiguous buffer or that the buffer contents has to
> be copied before associating it with a memory region. What I understood
> from the mlx5 T10-DIF patch series is that the API introduced in that
> patch series is such that only a single memory region per data transfer
> operation is supported. This made me wonder how to support T10-DIF for
> discontiguous buffers.

Hey Bart, Thanks for the observation,

You are correct, the T10-PI RDMA offload API requires a single memory 
region that describes the data
and a single memory region that describes the protection information.

Non-contiguous buffers are a well known problem/challenge for RDMA 
transports, each handles them
differently: iSER uses bounce buffers, SRP registers multiple contiguous 
regions. The T10-PI offload API does
not impose any other constraint on this situation, each ULP will act the 
same: iSER will copy to contiguous
bounce buffers and SRP will register multiple "Signature" memory regions 
(each for a contiguous chunk of data)
and send the rkeys to the target.

> Would one of the options below perhaps be an
> appropriate solution ?
> - Add a flag in struct request_queue that tells the block layer to use a
>    bounce buffer (data copying) for I/O requests with a discontiguous
>    data buffer. The block layer already supports copying data buffers for
>    which e.g. DMA alignment requirements are not met. Rework patch
>    "IB/iser: Introduce fast memory registration model" (commit
>    5587856c9659ac2d6ab201141aa8a5c2ff3be4cd) such that it takes advantage
>    of that new flag. See also blk_rq_map_user_iov() for an example of
>    how the block layer decides when copying a data buffer is necessary.

Didn't understand why should it matter where the copy is done (iser/block)?

> - Modify the patches that add T10-DIF such that discontiguous buffers
>    are supported.

I thought about adding some kind of logic to T10-PI RDMA API to try and 
solve the alignment
issue at the same time, but the fact is that the two are unrelated, and 
I figured it is not
such a good idea. Non-contiguous memory registration is separate problem 
(hint: under
development) and should be addressed separately, T10-PI RDMA offload 
should play well
with it.

> Sorry that I had not realized this before.
>
> Bart.
>

Hops this helps,

Sagi.
--
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

  parent reply	other threads:[~2014-01-29 15:06 UTC|newest]

Thread overview: 50+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-01-07 21:02 linux rdma 3.14 merge plans Or Gerlitz
     [not found] ` <CAJZOPZ+4yQ-sT=ks7+eiJjkxOjy5w=BmG16JVcUPiuVsof7qEA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-01-08  0:51   ` Roland Dreier
     [not found]     ` <CAG4TOxOMmvFWnkU3DBn33rscEKh2_YfbUCKY=iY8PCVN3+nEsA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-01-08  8:52       ` Sagi Grimberg
2014-01-08  9:15       ` Or Gerlitz
2014-01-08  9:37       ` Or Gerlitz
     [not found]         ` <52CD1C68.4050406-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2014-01-13 20:32           ` Nicholas A. Bellinger
     [not found]             ` <1389645171.5567.459.camel-XoQW25Eq2zviZyQQd+hFbcojREIfoBdhmpATvIKMPHk@public.gmane.org>
2014-01-15 21:15               ` Nicholas A. Bellinger
     [not found]                 ` <CAG4TOxNa32sLxifPx_f8sW04B_qSh01WWfWjRvam6fjvFLDXSQ@mail.gmail.com>
     [not found]                   ` <CAG4TOxNa32sLxifPx_f8sW04B_qSh01WWfWjRvam6fjvFLDXSQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-01-16 21:14                     ` Nicholas A. Bellinger
     [not found]                       ` <1389906852.5567.668.camel-XoQW25Eq2zviZyQQd+hFbcojREIfoBdhmpATvIKMPHk@public.gmane.org>
2014-01-16 21:37                         ` Greg Kroah-Hartman
     [not found]                           ` <20140116213717.GA24718-U8xfFu+wG4EAvxtiuMwx3w@public.gmane.org>
2014-01-16 21:42                             ` Or Gerlitz
     [not found]                               ` <CAJZOPZ+75yOyxrcu4s=dSxv4Ya27UyotbRWLqwC3bbh3wieihg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-01-16 21:58                                 ` Greg Kroah-Hartman
2014-01-16 22:06                                 ` Nicholas A. Bellinger
2014-01-17 22:02                         ` Martin K. Petersen
2014-01-18 21:42                         ` Roland Dreier
2014-01-19  3:42                           ` Nicholas A. Bellinger
2014-01-19 11:20                             ` sagi grimberg
     [not found]                               ` <52DBB4F1.4020400-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2014-01-20 13:56                                 ` Or Gerlitz
2014-01-21 22:00                                   ` Or Gerlitz
     [not found]                                     ` <CAJZOPZLuz-Z59agBd0Q9J2=sSG-F+Y8MrJkoGbtiF5M+CnKU1g-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-01-22  0:43                                       ` Roland Dreier
2014-01-22  0:43                                         ` Roland Dreier
2014-01-22  4:10                                         ` Or Gerlitz
     [not found]                                         ` <CAG4TOxPLEfyWsUDf4_371u=_=tOgW2v5J4zSz8xx73DfziZOZg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-01-22  7:27                                           ` Nicholas A. Bellinger
2014-01-22  7:27                                             ` Nicholas A. Bellinger
2014-02-07  0:02                                             ` Nicholas A. Bellinger
2014-02-07  0:04                                               ` Roland Dreier
2014-02-25 21:10                                                 ` Or Gerlitz
2014-03-05  9:54                                                 ` Nicholas A. Bellinger
     [not found]                                                   ` <1394013249.19539.17.camel-XoQW25Eq2zviZyQQd+hFbcojREIfoBdhmpATvIKMPHk@public.gmane.org>
2014-03-05 15:18                                                     ` Roland Dreier
2014-03-05 15:18                                                       ` Roland Dreier
     [not found]                                                       ` <CAG4TOxNRkAUH5Jsd67--ydWtUJqE1=pnVSuorgn4vNQiuYx1wg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-03-05 15:38                                                         ` Or Gerlitz
2014-03-05 15:38                                                           ` Or Gerlitz
2014-03-05 19:03                                                       ` Nicholas A. Bellinger
     [not found]                                                         ` <1394046218.20601.12.camel-XoQW25Eq2zviZyQQd+hFbcojREIfoBdhmpATvIKMPHk@public.gmane.org>
2014-03-07  5:07                                                           ` Devesh Sharma
2014-03-07  5:07                                                             ` Devesh Sharma
     [not found]                                                             ` <EE7902D3F51F404C82415C4803930ACD3FDDD50E-DWYeeINJQrxExQ8dmkPuX0M9+F4ksjoh@public.gmane.org>
2014-03-07 19:31                                                               ` Roland Dreier
2014-03-07 19:31                                                                 ` Roland Dreier
     [not found]                                                                 ` <CAL1RGDXRCZafDcFsbiG823VQ7_AVZeZqxY8JEaj=oCYRteAw_A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-03-10  9:00                                                                   ` Devesh Sharma
2014-03-10  9:00                                                                     ` Devesh Sharma
2014-04-01 21:31                                           ` Or Gerlitz
2014-01-22  9:48                                         ` Sagi Grimberg
     [not found]                                           ` <52DF93D3.6030509-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
2014-01-28 21:02                                             ` Or Gerlitz
2014-01-28 21:02                                               ` Or Gerlitz
     [not found]                                               ` <CAJZOPZLBECYXrpp0GY0uUvyf+XbiLHhXdVukniPXD4AWZObymg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-01-29 14:13                                                 ` Bart Van Assche
     [not found]                                                   ` <52E90C81.9040800-HInyCGIudOg@public.gmane.org>
2014-01-29 15:06                                                     ` Sagi Grimberg [this message]
     [not found]                                                       ` <52E91906.70802-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
2014-01-29 16:34                                                         ` Or Gerlitz
2014-01-29 17:56                                                         ` Bart Van Assche
     [not found]                                                           ` <52E940B2.3070901-HInyCGIudOg@public.gmane.org>
2014-01-30  8:19                                                             ` Or Gerlitz
     [not found]                                                               ` <52EA0AFA.40100-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2014-01-30 10:07                                                                 ` Bart Van Assche
     [not found]                                                                   ` <52EA2465.8010907-HInyCGIudOg@public.gmane.org>
2014-01-30 10:38                                                                     ` Or Gerlitz
2014-01-20 12:40       ` Bart Van Assche

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=52E91906.70802@dev.mellanox.co.il \
    --to=sagig-ldsdmyg8hgv8yrgs2mwiifqbs+8scbdb@public.gmane.org \
    --cc=bvanassche-HInyCGIudOg@public.gmane.org \
    --cc=linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=michaelc-hcNo3dDEHLuVc3sceRu5cw@public.gmane.org \
    --cc=or.gerlitz-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=oren-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org \
    --cc=roland-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
    --cc=sagig-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org \
    --cc=sean.hefty-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.