Issue #1230: transport/ofi: do not constrain inject_size hint to sizeof(long double)#1231
Draft
bcmIntc wants to merge 3 commits into
Draft
Issue #1230: transport/ofi: do not constrain inject_size hint to sizeof(long double)#1231bcmIntc wants to merge 3 commits into
bcmIntc wants to merge 3 commits into
Conversation
Let the provider advertise its natural inject_size rather than requiring it to be at least sizeof(long double). The returned inject_size is adopted immediately after fi_getinfo.
This reverts commit 1d02b81.
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.
Summary
Addresses Issue #1230.
query_for_fabricpreviously initializedshmem_transport_ofi_max_buffered_send = sizeof(long double)before callingfi_getinfo, which passed that value astx_attr.inject_size— telling the provider it must support at least 16-byte inject. This causedfi_getinfoto filter out providers that advertise a smallernatural inject size.
inject_size. The returned value is immediately adopted afterfi_getinfo, and the existing assert (inject_size >= max_buffered_send) trivially holds since both are 0 at that point.fi_getinfoto return an inflatedinject_sizethat doesn't reflect actual NIC capability.Test plan
make checkwith CXI providermake checkwith verbs providershmem_transport_ofi_max_buffered_sendvalue logged at startup reflects the provider's natural inject size