From: Sagi Grimberg <sagig-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
To: "Hefty, Sean" <sean.hefty-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
Cc: "linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
<linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
Oren Duer <oren-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
Subject: Re: [PATCH RFC 2/9] IB/core: Introduce Signature Verbs API
Date: Sun, 20 Oct 2013 15:55:58 +0300 [thread overview]
Message-ID: <5263D2DE.8010500@mellanox.com> (raw)
In-Reply-To: <1828884A29C6694DAF28B7E6B8A8237388CE2BFF-P5GAC/sN6hkd3b2yrw5b5LfspsVTdybXVpNB7YpNyf8@public.gmane.org>
On 10/18/2013 1:51 AM, Hefty, Sean wrote:
>> @@ -885,6 +901,19 @@ struct ib_send_wr {
>> u32 rkey;
>> struct ib_mw_bind_info bind_info;
>> } bind_mw;
>> + struct {
>> + struct ib_sig_attrs *sig_attrs;
>> + struct ib_mr *sig_mr;
>> + int access_flags;
>> + /* Registered data mr */
>> + struct ib_mr *data_mr;
>> + u32 data_size;
>> + u64 data_va;
>> + /* Registered protection mr */
>> + struct ib_mr *prot_mr;
>> + u32 prot_size;
>> + u64 prot_va;
>> + } sig_handover;
> At what point do we admit that this is a ridiculous structure?
If you are referring to ib_send_wr, I agree, shall we modify it to a
union of typedefs so it becomes more readable?
> Help me understand what this WR is doing. Is this telling the HCA to copy data between local MRs? What is a 'data MR' versus a 'protected MR'? (I'm not hip on T10-DIF.)
No data copy, god forbids... :)
Let me start by giving a short intro on signature (and T10-DIF).
In signature world, data may exist with protection information which is
the guarding the data. In T10-DIF (Data Integrity Fields) for example,
these are 8-byte guards which includes CRC for each 512 bytes of data
(block).
An HCA which support signature offload, is expected to validate that the
data is intact (each block matches its guard) and send it correctly over
the wire (in T10-DIF case the data and protection should be interleaved
i.e. 512B of data followed by 8B of protection guard) or alternatively,
validate data (+ protection) coming from the wire and write it to the
associated memory areas.
In the general case, the data and the protection guards may lie in
different memory areas. SCSI mid-layer for instance, passes the
transport driver 2 buffers using 2 scatterlists.
The transport driver (or application in the general case), is expected
to register each buffer (as it normally would in order to use RDMA)
using 2 MRs.
The signature handover operation is binding all the necessary
information for the HCA together: where is the data (data_mr), where is
the protection information (prot_mr), what are the signature properties
(sig_attrs).
Once this step is taken (WR is posted), a single MR (sig_mr) describes
the signature handover operation and can be used to perform RDMA under
signature presence.
Once the HCA will perform RDMA over this MR, it will take into account
the signature context of the transaction and will follow the signature
attributes configured.
Hope 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
next prev parent reply other threads:[~2013-10-20 12:55 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-10-15 15:38 [PATCH RFC 0/9] Introduce Signature feature Sagi Grimberg
[not found] ` <1381851510-17290-1-git-send-email-sagig-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2013-10-15 15:38 ` [PATCH RFC 1/9] IB/core: Introduce indirect and protected memory regions Sagi Grimberg
[not found] ` <1381851510-17290-2-git-send-email-sagig-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2013-10-17 22:43 ` Hefty, Sean
[not found] ` <1828884A29C6694DAF28B7E6B8A8237388CE2BE0-P5GAC/sN6hkd3b2yrw5b5LfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2013-10-20 13:05 ` Sagi Grimberg
[not found] ` <5263CC09.6030103@mellanox.com>
[not found] ` <5263CC09.6030103-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2013-10-21 14:39 ` Hefty, Sean
2013-10-15 15:38 ` [PATCH RFC 2/9] IB/core: Introduce Signature Verbs API Sagi Grimberg
[not found] ` <1381851510-17290-3-git-send-email-sagig-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2013-10-17 22:51 ` Hefty, Sean
[not found] ` <1828884A29C6694DAF28B7E6B8A8237388CE2BFF-P5GAC/sN6hkd3b2yrw5b5LfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2013-10-20 12:55 ` Sagi Grimberg [this message]
[not found] ` <5263D2DE.8010500-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2013-10-21 14:34 ` Hefty, Sean
[not found] ` <1828884A29C6694DAF28B7E6B8A8237388CEA91E-P5GAC/sN6hkd3b2yrw5b5LfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2013-10-21 16:12 ` Sagi Grimberg
[not found] ` <52655282.1000505-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2013-10-22 16:41 ` Hefty, Sean
[not found] ` <1828884A29C6694DAF28B7E6B8A8237388CEE1C7-P5GAC/sN6hkd3b2yrw5b5LfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2013-10-22 17:46 ` Sagi Grimberg
[not found] ` <5266BA11.6090300-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
2013-10-22 18:20 ` Hefty, Sean
[not found] ` <1828884A29C6694DAF28B7E6B8A8237388CEE286-P5GAC/sN6hkd3b2yrw5b5LfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2013-10-23 10:42 ` Sagi Grimberg
2013-10-15 15:38 ` [PATCH RFC 3/9] IB/mlx5, mlx5_core: Support for create_mr and destroy_mr Sagi Grimberg
2013-10-15 15:38 ` [PATCH RFC 4/9] IB/mlx5: Initialize mlx5_ib_qp signature related Sagi Grimberg
2013-10-15 15:38 ` [PATCH RFC 5/9] IB/mlx5: Break wqe handling to begin & finish routines Sagi Grimberg
2013-10-15 15:38 ` [PATCH RFC 6/9] IB/mlx5: remove MTT access mode from umr flags helper function Sagi Grimberg
2013-10-15 15:38 ` [PATCH RFC 7/9] IB/mlx5: Support IB_WR_REG_SIG_MR Sagi Grimberg
2013-10-15 15:38 ` [PATCH RFC 8/9] IB/mlx5: Collect signature error completion Sagi Grimberg
2013-10-15 15:38 ` [PATCH RFC 9/9] IB/mlx5: Publish support in signature feature 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=5263D2DE.8010500@mellanox.com \
--to=sagig-vpraknaxozvwk0htik3j/w@public.gmane.org \
--cc=linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=oren-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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox