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
07 of 10 LNX series - Return peer callbacks to parent provider #10031
Open
amirshehataornl
wants to merge
6
commits into
ofiwg:main
Choose a base branch
from
amirshehataornl:06_lnx_series_srx_in_context
base: main
Could not load branches
Branch not found: {{ refName }}
Could not load tags
Nothing to show
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
07 of 10 LNX series - Return peer callbacks to parent provider #10031
amirshehataornl
wants to merge
6
commits into
ofiwg:main
from
amirshehataornl:06_lnx_series_srx_in_context
+60
−22
Conversation
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
amirshehataornl
force-pushed
the
06_lnx_series_srx_in_context
branch
2 times, most recently
from
May 10, 2024 00:33
90896b9
to
e277456
Compare
When checking fabric attributes with ofi_check_fabric_attr() make sure to consider provider exclusion. When checking to see if a provider name is given, only consider ones which are not excluded using the '^' character. Signed-off-by: Amir Shehata <shehataa@ornl.gov>
It is not efficient to do a reverse lookup on the AV table when a message is received. Some providers do not store the fi_addr_t associated with the peer in the header passed on the wire. And it is not practical to require providers to add that to wire header, as it would break backwards compatibility. In order to handle this case, an address matching callback is added to the peer_srx.peer_ops structure. This allows the provider receiving the message to register an address matching callback. This callback is called by the owner provider to match an fi_addr_t with provider specific address in the message received. The callback allows the receiving provider to do an O(1) index into the AV table to lookup the address of the peer, and then compare that with the source address in the received message. As part of this change provider specific address information needs to be passed to the owner provider, which the owner will need to give back to the receiving provider, when it attempts to do address matching. Update the SHM and LINKx providers to conform with the API changes Signed-off-by: Amir Shehata <shehataa@ornl.gov>
Add a new structure fi_peer_match to collect the parameters which need to be passed to the get_msg and get_tag functions. Update the util_get_tag() and util_get_msg() function callbacks. Compilation gives a warning but not failing. This causes memory corruption when the callbacks are called. Signed-off-by: Amir Shehata <shehataa@ornl.gov>
amirshehataornl
force-pushed
the
06_lnx_series_srx_in_context
branch
from
May 16, 2024 13:23
e277456
to
482c948
Compare
Add a memory registration callback to the fi_ops_srx_peer. This allows core providers to expose a memory registration callback which the parent or peer provider can use to register memory on the receive path. For example the CXI provider registers memory with the NIC on the receive path. When using the peer infrastructure this can not happen because we do not know which provider will perform the receive operation. But if the source NID is specified then we can know and therefore we can perform the receive buffer registration at the top of the receive path. Signed-off-by: Amir Shehata <shehataa@ornl.gov>
Add FI_PEER capability bit Signed-off-by: Amir Shehata <shehataa@ornl.gov>
The parent provider should be able to get access to the peer provider callbacks. Added the srx block in the fid.context so we can retrieve it later on. Signed-off-by: Amir Shehata <shehataa@ornl.gov>
amirshehataornl
force-pushed
the
06_lnx_series_srx_in_context
branch
from
May 16, 2024 13:40
482c948
to
ce6fcf3
Compare
amirshehataornl
changed the title
06 lnx series srx in context
06 of 09 LNX series - Return peer callbacks to parent provider
May 16, 2024
amirshehataornl
changed the title
06 of 09 LNX series - Return peer callbacks to parent provider
07 of 10 LNX series - Return peer callbacks to parent provider
May 16, 2024
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.
We should consider having the srx peer callbacks available outside the get_tag()/get_msg() callbacks.
Signed-off-by: Amir Shehata shehataa@ornl.gov