-
Notifications
You must be signed in to change notification settings - Fork 382
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, fabtests: Implement FI_MORE for fi_recv #10532
base: main
Are you sure you want to change the base?
Conversation
|
||
assert(pke_cnt); | ||
|
||
ep = pke_vec[0]->ep; | ||
assert(ep); | ||
|
||
wr_index = ep->base_ep.efa_recv_wr_index; | ||
|
||
for (i = 0; i < pke_cnt; ++i) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Another approach may be having efa_rdm_ep_post_internal_rx_pkts
call this function in a loop of pkt_cnt
times, where the first pkt_cnt-1
times are with FI_MORE. So we can get rid of this loop inside
But this version should be good as well... We can revisit it later if necessary.
1c7d372
to
d6ce2d4
Compare
d6ce2d4
to
7e88c5f
Compare
7e88c5f
to
5cec3c4
Compare
5cec3c4
to
07963e7
Compare
Some offline discussion shows that this PR will cause issue when both internal rx buffer and user fi_recv calling |
91c10ea
to
0eec1b0
Compare
0eec1b0
to
0f1eca9
Compare
ep = pke_vec[0]->ep; | ||
assert(ep); | ||
|
||
wr_index = ep->base_ep.recv_wr_index; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
need a check for the wr_index
as I commented earlier. But for this code path, we already have a protection in #10538 (we have another pkt pool of fixed rx size). So having an assert here should be enough.
Track the last index of wr with recv_wr_index. Append wr when FI_MORE is set. Only post recv when FI_MORE is not set. Signed-off-by: Jessie Yang <[email protected]>
Also fix a bug in ft_recvmsg that uses tx_seq tag. Signed-off-by: Jessie Yang <[email protected]>
Signed-off-by: Jessie Yang <[email protected]>
0f1eca9
to
d8812f0
Compare
Implement FI_MORE for fi_recv in zero-copy recv mode.
Allow tests with FI_MORE flag by using fi_recvmsg.
Add FI_MORE pytest for fi_recv in test_rdm_bw_zcpy_recv_use_fi_more.