public inbox for linux-rdma@vger.kernel.org
 help / color / mirror / Atom feed
From: Sagi Grimberg <sagig@dev.mellanox.co.il>
To: Roland Dreier <roland@kernel.org>, Or Gerlitz <or.gerlitz@gmail.com>
Cc: "Nicholas A. Bellinger" <nab@linux-iscsi.org>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Hefty Sean <sean.hefty@intel.com>,
	linux-rdma <linux-rdma@vger.kernel.org>,
	"Martin K. Petersen" <martin.petersen@oracle.com>,
	target-devel <target-devel@vger.kernel.org>,
	Sagi Grimberg <sagig@mellanox.com>,
	linux-scsi <linux-scsi@vger.kernel.org>,
	Oren Duer <oren@mellanox.com>
Subject: Re: linux rdma 3.14 merge plans
Date: Wed, 22 Jan 2014 11:48:03 +0200	[thread overview]
Message-ID: <52DF93D3.6030509@dev.mellanox.co.il> (raw)
In-Reply-To: <CAG4TOxPLEfyWsUDf4_371u=_=tOgW2v5J4zSz8xx73DfziZOZg@mail.gmail.com>

On 1/22/2014 2:43 AM, Roland Dreier wrote:
> On Tue, Jan 21, 2014 at 2:00 PM, Or Gerlitz <or.gerlitz@gmail.com> wrote:
>> Roland, ping! the signature patches were posted > three months ago. We
>> deserve a response from the maintainer that goes beyond "I need to
>> think on that".
>>
>> Responsiveness was stated by Linus to be the #1 requirement from
>> kernel maintainers.

Hi Roland, I'll try to respond here.
removing LKML and adding Linux-scsi.

> Or, I'm not sure what response you're after from me.  Linus has also
> said that maintainers should say "no" a lot more
> (http://lwn.net/Articles/571995/) so maybe you want me to say, "No, I
> won't merge this patch set, since it adds a bunch of complexity to
> support a feature no one really cares about."

1. I disagree about no-one cares about DIF/DIX. We are witnessing growing
interests in this especially for RDMA.
2. We put a lot of efforts to avoid complexity here and plug-in as 
simple as possible.
Application that will choose to use DIF will implement only 3 steps:
a. allocate signature enabled MR.
b. register signature enabled MR with DIF attributes (via post_send) and 
then do RDMA.
c. check MR status after transaction is completed (_lightweight_ verb 
that can be called from interrupt context).

>    Is that it?  (And yes I
> am skeptical about this stuff — I work at an enterprise storage
> company and even here it's hard to find anyone who cares about
> DIF/DIX, especially offload features that stop it from being
> end-to-end)

1. RDMA verbs are _NOT_ stopping DIF from being end-to-end.
OS (or SCSI in our specific case) passes LLD 2 scatterlists: data 
{block1, block2, block3,...}, and protection {DIF1, DIF2, DIF3}.
LLD is required to verify the data integrity (block guards) and to 
interleave over the wire {block1, DIF1, block2, DIF2....}.
You must support that in HW, you rather iSER/SRP will use giant copy's 
to interleave by itself? or in case OS asked LLD
to INSERT DIF iSER/SRP will compute CRC for each data-block? RDMA 
storage ULPs are transports - they should have no business with
data processing.

2. HW DIF offload also gives you protection across the PCI. the 
data-validation is done (hopefully offloaded) also
when data+protection are written to the back-end device. end-to-end is 
preserved.

3. SAS & FC have T10-PI offload. This is just adding RDMA into the game.
With this set of verbs iSER, SRP, FCoE Initiators and targets will be able
to support T10-PI.

> I'm sure you're not expecting me to say, "Sure, I'll merge it without
> understanding the problem it's solving

Problem: T10-PI offload support for RDMA based initiators. Supporting 
end-to-end data integrity
while sustaining high RDMA performance.

>   or how it's doing that,"

How it's doing that:
- We introduce a new type of memory region that posses protection 
attributes suited for data integrity offload.
- We Introduce a new fast registration method that can bind all the 
relevant info for verify/generate of protection information:
   * describe if/how to interleave data with protection.
   * describe what method of data integrity is used (DIF type X, CRC, 
XOR...) and the seeds that HW should start calculation from.
   * describe how to verify the data.
- We Introduce a new lightweight check of the data-integrity status to 
check if there were any integrity errors and get information on them.

Note: We made MR allocation routine generic enough to lay a framework to 
unite all MR allocation
methods (get_dma_mr, alloc_fast_reg_mr, reg_phys, reg_user_mr, fmrs, and 
probably more in the future...).
We defined ib_create_mr that can actually get mr_init_attr which can be 
easily extended as opposed to the specific calls exists today.
So I would say this even reduces complexity.

Hope this helps,

Sagi.
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

  parent reply	other threads:[~2014-01-22  9:48 UTC|newest]

Thread overview: 42+ 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  4:10                                         ` Or Gerlitz
     [not found]                                         ` <CAG4TOxPLEfyWsUDf4_371u=_=tOgW2v5J4zSz8xx73DfziZOZg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
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
     [not found]                                                       ` <CAG4TOxNRkAUH5Jsd67--ydWtUJqE1=pnVSuorgn4vNQiuYx1wg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
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
     [not found]                                                             ` <EE7902D3F51F404C82415C4803930ACD3FDDD50E-DWYeeINJQrxExQ8dmkPuX0M9+F4ksjoh@public.gmane.org>
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-04-01 21:31                                           ` Or Gerlitz
2014-01-22  9:48                                         ` Sagi Grimberg [this message]
     [not found]                                           ` <52DF93D3.6030509-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
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
     [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=52DF93D3.6030509@dev.mellanox.co.il \
    --to=sagig@dev.mellanox.co.il \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-rdma@vger.kernel.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=martin.petersen@oracle.com \
    --cc=nab@linux-iscsi.org \
    --cc=or.gerlitz@gmail.com \
    --cc=oren@mellanox.com \
    --cc=roland@kernel.org \
    --cc=sagig@mellanox.com \
    --cc=sean.hefty@intel.com \
    --cc=target-devel@vger.kernel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox