Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

prov/efa: Support unsolicited RDMA write with immediate receive #10036

Merged
merged 1 commit into from
May 30, 2024

Conversation

shijin-aws
Copy link
Contributor

@shijin-aws shijin-aws commented May 13, 2024

This patch onboards EFA provider with the rdma-core feature that supports unsolicited RDMA write with immediate receive

linux-rdma/rdma-core#1459

. When a rdma-write with imm is unsolicited, libfabric won't release the rx pkt and bump the rx pkt counters.

@shijin-aws shijin-aws force-pushed the unsolicited_rdma_write branch 2 times, most recently from e8fbd11 to dec5878 Compare May 13, 2024 21:31
@shijin-aws
Copy link
Contributor Author

Need to rebase on #10042

This patch onboards Libfabric with the rdma-core feature that
supports unsolicited RDMA write with immediate receive

linux-rdma/rdma-core#1459

. When a rdma-write with imm is unsolicited, libfabric
won't release the rx pkt and bump the rx pkt counters.

Signed-off-by: Shi Jin <sjina@amazon.com>
@shijin-aws shijin-aws marked this pull request as ready for review May 22, 2024 21:28
@shijin-aws
Copy link
Contributor Author

@mrgolin can you review it, thanks

@shijin-aws shijin-aws requested a review from a team May 29, 2024 23:57
Comment on lines +151 to +160
if (!efa_rdm_cq_wc_is_unsolicited(ibv_cq_ex)) {
/**
* Recv with immediate will consume a pkt_entry, but the pkt is not
* filled, so free the pkt_entry and record we have one less posted
* packet now.
*/
assert(pkt_entry);
ep->efa_rx_pkts_posted--;
efa_rdm_pke_release_rx(pkt_entry);
}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this block supposed to be guarded with a directive? E.g. #if HAVE_CAPS_UNSOLICITED_WRITE_RECV

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

efa_rdm_cq_wc_is_unsolicited is defined for both HAVE_CAPS_UNSOLICITED_WRITE_RECV=1 and HAVE_CAPS_UNSOLICITED_WRITE_RECV=0. For the latter one, it will just return false

@shijin-aws shijin-aws merged commit a082424 into ofiwg:main May 30, 2024
13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants