prov/efa: Fix the completion report for delivery complete#12115
Closed
shijin-aws wants to merge 4 commits intoofiwg:mainfrom
Closed
prov/efa: Fix the completion report for delivery complete#12115shijin-aws wants to merge 4 commits intoofiwg:mainfrom
shijin-aws wants to merge 4 commits intoofiwg:mainfrom
Conversation
If a CTSDATA is used by a DC protocol, the tx entry should be released when both TX ops are done and the receipt has been received. Signed-off-by: Shi Jin <sjina@amazon.com>
We have other protocols (emulated read, fetch/compare atomics) that can have ack/resp packets delivered before the local tx packets are completed. Apply the same fix we have done for DC protocols earlier on these protocols as well that we need to wait for both tx and rx packets completion before releasing the tx entry. This fix also renamed the earlier EFA_RDM_TXE_RECEIPT_RECEIVED bit to EFA_RDM_TXE_RESPONSE_RECEIVED as a general flag for all protocols (including DC) that involves ack/response from the rx side to decide the tx entry lifeycle. Signed-off-by: Shi Jin <sjina@amazon.com>
Contributor
Author
|
The first 3 commits are from #12162, need to rebase after its merged. |
Contributor
Author
|
bot:aws:retest |
… decrement Signed-off-by: Shi Jin <sjina@amazon.com>
Today, we report tx completions for delivery complete (DC) protocols upon getting the receipt packet. This is wrong because the tx send completions may not have arrived yet, meaning the device can still be using the buffer. We cannot report completion to the application until the buffer is safe to reuse. Fix this by making DC protocols only report completions via efa_rdm_ope_handle_send_completed when both all TX ops have finished and the receipt packet has been received. Signed-off-by: Shi Jin <sjina@amazon.com>
Contributor
Author
|
This PR needs major rework and depends on #12162. Will reopen |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Today, we report tx completions upon getting the receipt packet rx completion. This is wrong, because the tx completions may not arrive yet at this time and the buffer can still be used by the device. We cannot report completion in this case because the buffer cannot be safely reused by the application after getting the completion.
This patch fixes this bug by making delivery complete protocols only report completions when it get all tx ops finished and receives the receipt pkts.