-
Notifications
You must be signed in to change notification settings - Fork 499
prov/efa: Cleanup EP/CQ #12167
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
Open
alekswn
wants to merge
4
commits into
ofiwg:main
Choose a base branch
from
alekswn:cleanup-ep-cq
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
prov/efa: Cleanup EP/CQ #12167
Changes from 2 commits
Commits
Show all changes
4 commits
Select commit
Hold shift + click to select a range
b8734a7
prov/efa: remove unused efa_dgram_ep_msg_ops and efa_dgram_ep_rma_ops
alekswn ff68eb6
prov/efa: move efa-direct-only fields from efa_base_ep to new efa_dir…
alekswn ce9e0b7
prov/efa: add DGRAM unit test for construct_ibv_qp_init_attr_ex
alekswn 93740b9
prov/efa: add efa_direct_ep.h to Makefile.include for distribution
alekswn File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,25 @@ | ||
| /* SPDX-License-Identifier: BSD-2-Clause OR GPL-2.0-only */ | ||
| /* SPDX-FileCopyrightText: Copyright Amazon.com, Inc. or its affiliates. All rights reserved. */ | ||
|
|
||
| #ifndef EFA_DIRECT_EP_H | ||
| #define EFA_DIRECT_EP_H | ||
|
|
||
| #include "efa_base_ep.h" | ||
|
|
||
| /** | ||
| * @brief EFA direct endpoint structure | ||
| * | ||
| * Wraps efa_base_ep as first member (for castability) and adds | ||
| * fields that are only used by the efa-direct path. | ||
| */ | ||
| struct efa_direct_ep { | ||
| struct efa_base_ep base_ep; | ||
|
|
||
| struct ofi_bufpool *ope_pool; /**< pool for efa_direct_ope */ | ||
| struct dlist_entry ope_list; /**< list of outstanding ops */ | ||
| }; | ||
|
|
||
| static_assert(offsetof(struct efa_direct_ep, base_ep) == 0, | ||
| "efa_base_ep must be first member of efa_direct_ep for container_of safety"); | ||
|
|
||
| #endif /* EFA_DIRECT_EP_H */ | ||
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
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
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
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
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
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
Oops, something went wrong.
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.
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.
Have a comment here that we make the ope_pool/ope_list additional for efa_direct_ep because of a need to track the outstanding operations that still reference MRs. This should be a temporary addition and finally removed or moved to the efa_base_ep when we have a unified approach to make it cover both efa and efa-direct
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.
Thinking about it more, I think we should keep ope_pool and ope_list in the base_ep and make efa_rdm_ep use them. efa_rdm_ep also have a ope_pool which is the same type. efa_rdm_ep has separate txe_list and rxe_list but they are only used for final cleanup purpose. There is no reason we cannot combine them into a single ope_list and scan it once and clean up based on the ope type accordingly