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: Decouple AV entry from endpoint #10649

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

sunkuamzn
Copy link
Contributor

Before this change, the EFA AV entry contained a reference to efa_rdm_peer which is specific to a given endpoint. This member also prevented binding a single AV to multiple endpoints.

This change removes efa_rdm_peer from AV entry by adding a hashmap to the endpoint that maps fi_addr to efa_rdm_peer. And it also enables multiple EFA endpoints to bind to the same AV.

Before this change, the EFA AV entry contained a reference to
efa_rdm_peer which is specific to a given endpoint. This member also
prevented binding a single AV to multiple endpoints.

This change removes efa_rdm_peer from AV entry  by adding a hashmap
to the endpoint that maps fi_addr to efa_rdm_peer. And it also
enables multiple EFA endpoints to bind to the same AV.

Co-authored-by: Shi Jin <[email protected]>
Signed-off-by: Sai Sunku <[email protected]>
@@ -187,6 +191,9 @@ struct efa_rdm_ep {
struct dlist_entry entry;
/* the count of opes queued before handshake is made with their peers */
size_t ope_queued_before_handshake_cnt;

struct ofi_bufpool *peer_map_entry_pool; /* bufpool to hold fi_addr->efa_rdm_peer key-value pairs */
struct efa_rdm_peer_map peer_map; /* Hashmap to find efa_rdm_peer given fi_addr */
Copy link
Contributor

Choose a reason for hiding this comment

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

The name peer_map feels a little generic.

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.

2 participants