Skip to content

Commit

Permalink
core: Define capbility for directed receive without wildcard src_addr
Browse files Browse the repository at this point in the history
The new bit FI_EXACT_DIRECTED_RECV is similar to FI_DIRECTED_RECV, but
requires exact source address. I.e., the wildcard address FI_ADDR_UNSPEC
is not allowed.

It can be used alone, or be used together with FI_DIRECTED_RECV or
FI_TAGGED_DIRECTED_RECV as a modifier.

Not allowing wildcard source address allows the provider to better
optmize the receive handling.

Signed-off-by: Jianxin Xiong <[email protected]>
  • Loading branch information
j-xiong committed Oct 3, 2024
1 parent 5ebeb12 commit 9dd541a
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 1 deletion.
2 changes: 1 addition & 1 deletion include/rdma/fabric.h
Original file line number Diff line number Diff line change
Expand Up @@ -166,7 +166,7 @@ typedef struct fid *fid_t;
#define FI_TAGGED_DIRECTED_RECV (1ULL << 45)
#define FI_TAGGED_MULTI_RECV (1ULL << 46)
#define FI_HMEM (1ULL << 47)
/* #define FI_VARIABLE_MSG (1ULL << 48) */
#define FI_EXACT_DIRECTED_RECV (1ULL << 48)
#define FI_RMA_PMEM (1ULL << 49)
#define FI_SOURCE_ERR (1ULL << 50)
#define FI_LOCAL_COMM (1ULL << 51)
Expand Down
7 changes: 7 additions & 0 deletions man/fi_getinfo.3.md
Original file line number Diff line number Diff line change
Expand Up @@ -294,6 +294,13 @@ additional optimizations.
: Similar to FI_DIRECTED_RECV, but only applies to tagged receive
operations.

*FI_EXACT_DIRECTED_RECV*
: Similar to FI_DIRECTED_RECV, but requires the source address to be
exact, i.e., FI_ADDR_UNSPEC is not allowed. This capability can
be used alone, or in conjunction with FI_DIRECTED_RECV or
FI_TAGGED_DIRECTED_RECV as a modifier to disallow FI_ADDR_UNSPEC
being used as the source address.

*FI_FENCE*
: Indicates that the endpoint support the FI_FENCE flag on data
transfer operations. Support requires tracking that all previous
Expand Down

0 comments on commit 9dd541a

Please sign in to comment.