forked from libfabric-test1/libfabric
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
prov/efa: Create 1:1 relationship between libfabric CQs and IBV CQs
Today, each endpoint has its own completion queue with the EFA provider, even if all endpoints bind the same CQ. This caused applications to poll many more hardware completion queues than expected, at significantly reduced performance. This patch fixes this issue by moving the IBV cq creation to fi_cq_open, and bind it with ep explicitly via fi_ep_bind. The ibv cq poll are isolated from the efa_rdm_ep_progress and made a separate call made by the fi_cq_read and fi_cntr_read. Because applications may create separate tx and rx ibv cqs, both of them should be polled during the cq progress due to EFA's protocol requirements. This patch creates a ibv_cq_poll_list structure to track the ibv cqs that requires polling. As a consequence of this change, the real QP creation is moved to fi_ep_enable because the ibv cq must be bound with qp during creation, which is guaranteed during the ep enable. Signed-off-by: Shi Jin <[email protected]>
- Loading branch information
1 parent
5e0191d
commit d48fb80
Showing
20 changed files
with
1,159 additions
and
536 deletions.
There are no files selected for viewing
This file contains 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 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 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 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 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 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 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.