On Sun, Jan 19, 2014 at 1:20 PM, sagi grimberg <[email protected]> wrote:
> Thanks Nic,  let me elaborate on this,
>
> It is true that T10-PI aims for end-to-end data-integrity, the verbs API 
> offer HW offload for protection
> information processing which is VERY expensive for CPU computation (CRC 
> verify for each block). T10-PI
> is intended to be offloaded, both on the backend devices which supports this 
> feature and for fabric
> transports (such as Qlogic/Emulex FC drivers), Verbs API just adds RDMA to 
> the game...
>
> T10-PI specifies protection information scheme in a way that over the wire 
> each protection interval is
> followed by 8 bytes of data-integrity (interleaved). In the memory on the 
> other hand, the data and
> protection block-guards may lie in separated buffers (for example that is the 
> preferred approach in block
> and SCSI layers).
>
> Newly introduced REG_SIG_MR work request allows to (fast) register a 
> "signature" memory key which
> incorporates the protection method and pattern used:
> 1. Where is the data? (data sge)
> 2. Where is the protection block-guards? (protection sge)
> 3. What are the signature attributes? (T10-PI method, crc/reftag/apptag 
> seeds, verify mask, memory pattern, wire pattern)
> When doing the actual data-transfer the HCA will enforce T10-PI scheme (See 
> my cover-letter for a more detailed explanation).
>
> If you take a look in SCSI implementation you will see that SCSI signals the 
> transport of protection attributes in
> scsi_cmnd (prot SG-list, protection type, guard type, protection operation). 
> Verbs API allows full offload of all
> T10-PI operations:
> 1. INSERT - HCA computes/generates data-integrity block-guards and writes 
> them according to the specified
>     pattern (interleaved with the data or in a separated buffer).
> 2. STRIP (and VERIFY) - HCA verifies incoming data-integrity block-guards and 
> strip them from the data stream.
> 3. PASS (and VERIFY) - HCA verifies incoming data-integrity block-guards and 
> passes them forward according to
>     the specified pattern (interleaved/separated).
>
> In addition, Verbs API can be easily extended to support other data-integrity 
> methods (XOR-32, CRC-32, etc...)
> so that an application interested in data-integrity has signature verbs in 
> its tool-box. This is why we use "Signature"
> notation and refer to T10-PI as a specific signature method.
>
> Hope this helps,

Hi Roland,

So with Nic's && Sagi's answers @ hand, were your questions resolved?

Also, Nic put the V4 patches in a branch on his tree for 0-day testing
and we had one hit from Dan Carpenter which Sagi addressed with
incremental fix he sent you.

Or.
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to