Re: [PATCH] IB/rxe: fix for duplicate request processing and ack psns

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 2018-06-12 at 18:20 -0700, Vijay Immanuel wrote:
> Don't reset the resp opcode for a replayed read response.
> The resp opcode could be in the middle of a write or send
> sequence, when the duplicate read request was received.
> An example sequence is as follows:
> - Receive read request for 12KB PSN 20. Transmit read response
>   first, middle and last with PSNs 20,21,22.
> - Receive write first PSN 23.
>   At this point the resp psn is 24 and resp opcode is write first.
> - The sender notices that PSN 20 is dropped and retransmits.
>   Receive read request for 12KB PSN 20. Transmit read response
>   first, middle and last with PSNs 20,21,22. The resp opcode is
>   set to -1, the resp psn remains 24.
> - Receive write first PSN 23. This is processed by duplicate_request().
>   The resp opcode remains -1 and resp psn remains 24.
> - Receive write middle PSN 24. check_op_seq() reports a missing
>   first error since the resp opcode is -1.
> 
> When sending an ack for a duplicate send or write request,
> use the psn of the previous ack sent. Do not use the psn
> of a read response for the ack.
> An example sequence is as follows:
> - Receive write PSN 30. Transmit ACK for PSN 30.
> - Receive read request 4KB PSN 31. Transmit read response with
>   PSN 31. The resp psn is now 32.
> - The sender notices that PSN 30 is dropped and retransmits.
>   Receive write PSN 30. duplicate_request() sends an ACK with
>   PSN 31. That is incorrect since PSN 31 was a read request.
> 
> Signed-off-by: Vijay Immanuel <vijayi@xxxxxxxxxxxxxxxxx>

This has been left to languish due to lack of competent review (both
Jason and I beg off on this level of technical review of rxe).

As a result, I've decided to go ahead and put this into for-next at the
earliest possible stage so that it gets the most testing possible before
the next merge window.

So, thanks, applied to for-next.

-- 
Doug Ledford <dledford@xxxxxxxxxx>
    GPG KeyID: B826A3330E572FDD
    Key fingerprint = AE6B 1BDA 122B 23B4 265B  1274 B826 A333 0E57 2FDD

Attachment: signature.asc
Description: This is a digitally signed message part


[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux