From: Jack Wang <xjtuwjp-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
To: Sagi Grimberg <sagig-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
oren-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org,
tzahio-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org
Subject: Re: [PATCH RFC v2 00/10] Introduce Signature feature
Date: Thu, 31 Oct 2013 13:55:57 +0100 [thread overview]
Message-ID: <5272535D.4090805@gmail.com> (raw)
In-Reply-To: <1383222255-22699-1-git-send-email-sagig-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
Hi Sagi,
I wander what's the performance overhead with this DIF support?
And is there a roadmap for support SRP/ISER and target side for DIF?
Regards,
Jack
On 10/31/2013 01:24 PM, Sagi Grimberg wrote:
> This patchset Introduces Verbs level support for signature handover
> feature. Siganture is intended to implement end-to-end data integrity
> on a transactional basis in a completely offloaded manner.
>
> There are several end-to-end data integrity methods used today in various
> applications and/or upper layer protocols such as T10-DIF defined by SCSI
> specifications (SBC), CRC32, XOR8 and more. This patchset adds verbs
> support only for T10-DIF. The proposed framework allows adding more
> signature methods in the future.
>
> In T10-DIF, when a series of 512-byte data blocks are transferred, each
> block is followed by an 8-byte guard. The guard consists of CRC that
> protects the integrity of the data in the block, and some other tags
> that protects against mis-directed IOs.
>
> Data can be protected when transferred over the wire, but can also be
> protected in the memory of the sender/receiver. This allows true end-
> to-end protection against bits flipping either over the wire, through
> gateways, in memory, over PCI, etc.
>
> While T10-DIF clearly defines that over the wire protection guards are
> interleaved into the data stream (each 512-Byte block followed by 8-byte
> guard), when in memory, the protection guards may reside in a buffer
> separated from the data. Depending on the application, it is usually
> easier to handle the data when it is contiguous. In this case the data
> buffer will be of size 512xN and the protection buffer will be of size
> 8xN (where N is the number of blocks in the transaction).
>
> There are 3 kinds of signature handover operation:
> 1. Take unprotected data (from wire or memory) and ADD protection
> guards.
> 2. Take protetected data (from wire or memory), validate the data
> integrity against the protection guards and STRIP the protection
> guards.
> 3. Take protected data (from wire or memory), validate the data
> integrity against the protection guards and PASS the data with
> the guards as-is.
>
> This translates to defining to the HCA how/if data protection exists
> in memory domain, and how/if data protection exists is wire domain.
>
> The way that data integrity is performed is by using a new kind of
> memory region: signature-enabled MR, and a new kind of work request:
> REG_SIG_MR. The REG_SIG_MR WR operates on the signature-enabled MR,
> and defines all the needed information for the signature handover
> (data buffer, protection buffer if needed and signature attributes).
> The result is an MR that can be used for data transfer as usual,
> that will also add/validate/strip/pass protection guards.
>
> When the data transfer is successfully completed, it does not mean
> that there are no integrity errors. The user must afterwards check
> the signature status of the handover operation using a new light-weight
> verb.
>
> This feature shall be used in storage upper layer protocols iSER/SRP
> implementing end-to-end data integrity T10-DIF. Following this patchset,
> we will soon submit krping patches which will demonstrate the usage of
> these signature verbs.
>
--
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
next prev parent reply other threads:[~2013-10-31 12:55 UTC|newest]
Thread overview: 45+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-10-31 12:24 [PATCH RFC v2 00/10] Introduce Signature feature Sagi Grimberg
[not found] ` <1383222255-22699-1-git-send-email-sagig-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2013-10-31 12:24 ` [PATCH RFC v2 01/10] IB/core: Introduce protected memory regions Sagi Grimberg
[not found] ` <1383222255-22699-2-git-send-email-sagig-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2013-11-01 17:09 ` Bart Van Assche
[not found] ` <5273E03C.3010501-HInyCGIudOg@public.gmane.org>
2013-11-03 12:14 ` Sagi Grimberg
2013-10-31 12:24 ` [PATCH RFC v2 02/10] IB/core: Introduce Signature Verbs API Sagi Grimberg
[not found] ` <1383222255-22699-3-git-send-email-sagig-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2013-11-01 15:13 ` Bart Van Assche
[not found] ` <5273C4FC.4070708-HInyCGIudOg@public.gmane.org>
2013-11-03 12:15 ` Sagi Grimberg
2013-11-01 18:46 ` Bart Van Assche
[not found] ` <5273F6F4.3000300-HInyCGIudOg@public.gmane.org>
2013-11-03 12:15 ` Sagi Grimberg
[not found] ` <52763E68.2040605-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2013-11-03 14:41 ` Bart Van Assche
[not found] ` <5276608D.2020605-HInyCGIudOg@public.gmane.org>
2013-11-03 16:30 ` Sagi Grimberg
2013-11-01 22:23 ` Bart Van Assche
[not found] ` <527429E7.7010705-HInyCGIudOg@public.gmane.org>
2013-11-03 12:16 ` Sagi Grimberg
2013-10-31 12:24 ` [PATCH RFC v2 03/10] IB/mlx5, mlx5_core: Support for create_mr and destroy_mr Sagi Grimberg
[not found] ` <1383222255-22699-4-git-send-email-sagig-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2013-10-31 12:52 ` Jack Wang
[not found] ` <52725299.7020105-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2013-10-31 12:59 ` Sagi Grimberg
2013-10-31 12:24 ` [PATCH RFC v2 04/10] IB/mlx5: Initialize mlx5_ib_qp signature related Sagi Grimberg
2013-10-31 12:24 ` [PATCH RFC v2 05/10] IB/mlx5: Break wqe handling to begin & finish routines Sagi Grimberg
2013-10-31 12:24 ` [PATCH RFC v2 06/10] IB/mlx5: remove MTT access mode from umr flags helper function Sagi Grimberg
2013-10-31 12:24 ` [PATCH RFC v2 07/10] IB/mlx5: Keep mlx5 MRs in a radix tree under device Sagi Grimberg
[not found] ` <1383222255-22699-8-git-send-email-sagig-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2013-11-01 20:46 ` Bart Van Assche
[not found] ` <5274131C.90601-HInyCGIudOg@public.gmane.org>
2013-11-03 12:16 ` Sagi Grimberg
[not found] ` <52763E88.4050300-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2013-11-03 13:40 ` Or Gerlitz
2013-10-31 12:24 ` [PATCH RFC v2 08/10] IB/mlx5: Support IB_WR_REG_SIG_MR Sagi Grimberg
[not found] ` <1383222255-22699-9-git-send-email-sagig-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2013-10-31 13:01 ` Jack Wang
2013-11-01 15:05 ` Bart Van Assche
[not found] ` <5273C32E.2020405-HInyCGIudOg@public.gmane.org>
2013-11-03 12:16 ` Sagi Grimberg
2013-11-01 20:37 ` Bart Van Assche
[not found] ` <527410F3.6040704-HInyCGIudOg@public.gmane.org>
2013-11-02 19:21 ` Or Gerlitz
[not found] ` <CAJZOPZLnyqzzx91ohmW+exy0k8g-FX6reSBCGmh_F2tTGWWOog-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-11-02 21:59 ` Bart Van Assche
[not found] ` <527575D0.9050802-HInyCGIudOg@public.gmane.org>
2013-11-03 12:20 ` Sagi Grimberg
2013-10-31 12:24 ` [PATCH RFC v2 09/10] IB/mlx5: Collect signature error completion Sagi Grimberg
2013-10-31 12:24 ` [PATCH RFC v2 10/10] IB/mlx5: Publish support in signature feature Sagi Grimberg
2013-10-31 12:55 ` Jack Wang [this message]
[not found] ` <5272535D.4090805-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2013-10-31 13:20 ` [PATCH RFC v2 00/10] Introduce Signature feature Sagi Grimberg
[not found] ` <52725930.7030702-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2013-10-31 13:29 ` Jack Wang
2013-11-01 15:03 ` Bart Van Assche
[not found] ` <5273C2B6.7010901-HInyCGIudOg@public.gmane.org>
2013-11-02 1:36 ` Nicholas A. Bellinger
[not found] ` <1383356167.4216.16.camel-XoQW25Eq2zviZyQQd+hFbcojREIfoBdhmpATvIKMPHk@public.gmane.org>
2013-11-02 21:57 ` Bart Van Assche
[not found] ` <52757555.6090907-HInyCGIudOg@public.gmane.org>
2013-11-04 18:41 ` Nicholas A. Bellinger
[not found] ` <1383590471.4216.22.camel-XoQW25Eq2zviZyQQd+hFbcojREIfoBdhmpATvIKMPHk@public.gmane.org>
2013-11-05 9:13 ` Sagi Grimberg
[not found] ` <5278B6B2.1010006-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2013-11-05 18:30 ` Nicholas A. Bellinger
2013-11-01 22:06 ` Bart Van Assche
[not found] ` <527425DA.7040609-HInyCGIudOg@public.gmane.org>
2013-11-03 12:13 ` Sagi Grimberg
2013-11-03 12:14 ` Sagi Grimberg
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=5272535D.4090805@gmail.com \
--to=xjtuwjp-re5jqeeqqe8avxtiumwx3w@public.gmane.org \
--cc=linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=oren-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org \
--cc=sagig-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org \
--cc=tzahio-VPRAkNaXOzVWk0Htik3J/w@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.