Re: [RFC PATCH] RDMA/rxe: Export imm_data to WC when the related WR with imm_data finished on SQ

Xiao Yang
2021-01-29T05:43:10Z

On 2021/1/28 3:40, Bob Pearson wrote:
> On 1/27/21 6:04 AM, Leon Romanovsky wrote:
>> On Wed, Jan 27, 2021 at 04:24:31PM +0800, Xiao Yang wrote:
>>> Even if we enable sq_sig_all or IBV_SEND_SIGNALED, current rxe
>>> module cannot set imm_data in WC when the related WR with imm_data
>>> finished on SQ.
>>>
>>> Signed-off-by: Xiao Yang<yangx.jy@cn.fujitsu.com>
>>> ---
>>>
>>> Current rxe module and other rdma modules(e.g. mlx5) only set
>>> imm_data in WC when the related WR with imm_data finished on RQ.
>>> I am not sure if it is a expected behavior.
>> This is IBTA behavior.
>>
>> 5.2.11 IMMEDIATE DATA EXTENDED TRANSPORT HEADER (ImmDt) - 4 BYTES
>> "Immediate Data (ImmDt) contains data that is placed in the receive
>> Completion Queue Element (CQE). The ImmDt is only allowed in SEND or
>> RDMA WRITE packets with Immediate Data."
>>
>> If I understand the spec, you shouldn't set imm_data in SQ.
>>
>> Thanks
>>
> This seems a little confused to me. wc.imm_data is set in rxe_resp.c in response to an incoming request packet that contains an IMMDT extension header. I.e. a write with immediate or send with immediate opcode from the remote end of the wire. This wc is delivered to the receive completion queue when the message is complete. It should not have anything to do with the local send work queue entries.
Hi Bob,

Current rdma modules(e.g softroce, mlx5) only set wc_flags to
IBV_WC_WITH_IMM for the completed send work queue entries.
I am not sure if it is also the IBTA behavior.

Best Regards,
Xiao Yang
> Bob Pearson
>
>
> .
>