Repository navigation
UCP: Name the peer version checks #12233
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
base: master
Are you sure you want to change the base?
Changes from all commits
5f11ccf
293b5f1
93b2cee
ac9636a
35f31a3
628c4ad
17348a9
7452921
f2f1a0c
96a561c
1972b90
76759f5
370e603
21602aa
a17bab8
ac3d55a
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
@@ -2417,10 +2417,11 @@ ucs_status_t ucp_ep_recovery_arm(ucp_ep_h ep) | |||||||||||
|
|
||||||||||||
| ucs_assert(!(ep->flags & UCP_EP_FLAG_FAILED)); | ||||||||||||
|
|
||||||||||||
| if (ucp_ep_config(ep)->key.dst_version < 22) { | ||||||||||||
| ucs_diag("ep: %p: recovery support requires UCX 1.22 or later, " | ||||||||||||
| "remote peer version %d is not supported", | ||||||||||||
| ep, ucp_ep_config(ep)->key.dst_version); | ||||||||||||
| if (ucp_ep_config(ep)->key.dst_version < UCP_MIN_DST_VERSION_EP_RECOVERY) { | ||||||||||||
| ucs_diag("ep: %p: recovery support requires UCX 1.%d or later, " | ||||||||||||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
minor:
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Done, |
||||||||||||
| "remote peer version %u is not supported", | ||||||||||||
| ep, UCP_MIN_DST_VERSION_EP_RECOVERY, | ||||||||||||
| ucp_ep_config(ep)->key.dst_version); | ||||||||||||
| return UCS_OK; | ||||||||||||
| } | ||||||||||||
|
|
||||||||||||
|
|
@@ -2734,7 +2735,7 @@ ucp_ep_tf_lane_supported(ucp_ep_h ep, ucp_lane_index_t lane, uct_ep_h uct_ep) | |||||||||||
| !ucp_ep_err_mode_eq(ep, UCP_ERR_HANDLING_MODE_FAILOVER) || | ||||||||||||
| ucp_ep_has_cm_lane(ep) || | ||||||||||||
| (ucp_ep_config(ep)->key.dst_version < | ||||||||||||
| UCP_WIREUP_ADDR_TOKEN_MIN_DST_VERSION) || | ||||||||||||
| UCP_MIN_DST_VERSION_WIREUP_ADDR_TOKEN) || | ||||||||||||
| (ucp_ep_get_lane(ep, lane) != uct_ep)) { | ||||||||||||
| return 0; | ||||||||||||
| } | ||||||||||||
|
|
||||||||||||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -349,6 +349,41 @@ typedef enum { | |
| } ucp_object_version_t; | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Residual note: two version gates stay outside the new list by design (
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Added a sentence to the comment of the list: a peer which does not pack its release version has |
||
|
|
||
|
|
||
| /* The dst_version of a peer which does not pack its release version */ | ||
| #define UCP_VERSION_LEGACY 0 | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. minor: can we call it |
||
|
|
||
|
|
||
| /* | ||
| * Peer release versions (dst_version), ordered by version. A feature below is | ||
| * used with a peer only if dst_version of the peer is at least the given one, | ||
| * so peers of older releases keep working. The release version is packed in | ||
| * 4 bits, so dst_version of a peer more than 7 releases older can be wrong, | ||
| * see ucp_address_unpack_release_version(). | ||
| */ | ||
|
dmitrygx marked this conversation as resolved.
Resolved
|
||
| enum { | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. minor: as an enum I would expect the values to have the same prefix like
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. +1 for renamimg
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Done: all of them are |
||
| /* The lane bandwidth includes the local distance */ | ||
| UCP_MIN_DST_VERSION_WIREUP_BW_DISTANCE = 17, | ||
| /* The AM lane is separated from the RMA BW lanes */ | ||
| UCP_MIN_DST_VERSION_WIREUP_SEPARATE_AM_LANE = 17, | ||
| /* Up to UCP_MAX_LANES lanes instead of UCP_MAX_LANES_LEGACY */ | ||
| UCP_MIN_DST_VERSION_WIREUP_MAX_LANES = 18, | ||
| /* No legacy bits in the MD index field of a v1 worker address */ | ||
| UCP_MIN_DST_VERSION_ADDRESS_MD_INDEX = 19, | ||
| /* UCX_CONNECT_ALL_TO_ALL connects all local and remote device pairs */ | ||
| UCP_MIN_DST_VERSION_WIREUP_CONNECT_ALL_TO_ALL = 19, | ||
| /* A non-empty remote key always packs the system device */ | ||
| UCP_MIN_DST_VERSION_RKEY_SYS_DEV = 20, | ||
| /* The PSN protocol of multi-fragment AM */ | ||
| UCP_MIN_DST_VERSION_AM_PSN = 21, | ||
| /* The endpoint recovery */ | ||
| UCP_MIN_DST_VERSION_EP_RECOVERY = 22, | ||
| /* The rendezvous protocols of RMA operations */ | ||
| UCP_MIN_DST_VERSION_PROTO_RMA_RNDV = 22, | ||
| /* The token trailer of the LANES_ADDR messages */ | ||
| UCP_MIN_DST_VERSION_WIREUP_ADDR_TOKEN = 24 | ||
| }; | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. can we add
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
|
||
|
|
||
|
|
||
| /** | ||
| * Active message tracer. | ||
| */ | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
minor: can we also update
wireup/AGENTS.md("A payload section appended to an already released message must be gated by a*_MIN_DST_VERSIONconstant ...") to say the constant goes to the list incore/ucp_types.h? Now thatUCP_WIREUP_ADDR_TOKEN_MIN_DST_VERSIONmoved out ofwireup.h, the wireup guide still describes*_MIN_DST_VERSIONgating locally without saying where the constant belongs — otherwise the next wire-compat constant may again be defined locally inwireup.h.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done: the wireup guide now takes the constant from
core/ucp_types.h.