Skip to content

Commit

Permalink
core: Cleanup FI_ORDER flags
Browse files Browse the repository at this point in the history
Remove FI_ORDER_NONE (flag that's 0) and FI_ORDER_STRICT (which isn't a
flag, and covers only a portion of the valid flags).

Remove FI_ORDER_DATA, which will not be supported by version 2 in
order to allow for greater provider optimization.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
Signed-off-by: Jianxin Xiong <jianxin.xiong@intel.com>
  • Loading branch information
shefty authored and j-xiong committed Apr 29, 2024
1 parent d751a95 commit 03514ce
Show file tree
Hide file tree
Showing 6 changed files with 9 additions and 22 deletions.
6 changes: 2 additions & 4 deletions fabtests/unit/getinfo_test.c
Original file line number Diff line number Diff line change
Expand Up @@ -181,8 +181,7 @@ static int validate_tx_ordering_bits(char *node, char *service, uint64_t flags,
struct fi_info *hints, struct fi_info **info)
{
return validate_bit_combos(node, service, flags, hints, info,
FI_ORDER_STRICT | FI_ORDER_DATA,
init_tx_order, check_tx_order);
~0ULL, init_tx_order, check_tx_order);
}

static int init_rx_order(struct fi_info *hints, uint64_t order)
Expand All @@ -200,8 +199,7 @@ static int validate_rx_ordering_bits(char *node, char *service, uint64_t flags,
struct fi_info *hints, struct fi_info **info)
{
return validate_bit_combos(node, service, flags, hints, info,
FI_ORDER_STRICT | FI_ORDER_DATA,
init_rx_order, check_rx_order);
~0ULL, init_rx_order, check_rx_order);
}

static int init_caps(struct fi_info *hints, uint64_t bits)
Expand Down
6 changes: 3 additions & 3 deletions include/rdma/fabric.h
Original file line number Diff line number Diff line change
Expand Up @@ -261,7 +261,7 @@ enum fi_resource_mgmt {
FI_RM_ENABLED
};

#define FI_ORDER_NONE 0ULL
/* #define FI_ORDER_NONE 0ULL */
#define FI_ORDER_RAR (1ULL << 0)
#define FI_ORDER_RAW (1ULL << 1)
#define FI_ORDER_RAS (1ULL << 2)
Expand All @@ -271,7 +271,7 @@ enum fi_resource_mgmt {
#define FI_ORDER_SAR (1ULL << 6)
#define FI_ORDER_SAW (1ULL << 7)
#define FI_ORDER_SAS (1ULL << 8)
#define FI_ORDER_STRICT 0x1FF
/* #define FI_ORDER_STRICT 0x1FF */

#define FI_ORDER_RMA_RAR (1ULL << 32)
#define FI_ORDER_RMA_RAW (1ULL << 33)
Expand All @@ -282,7 +282,7 @@ enum fi_resource_mgmt {
#define FI_ORDER_ATOMIC_WAR (1ULL << 38)
#define FI_ORDER_ATOMIC_WAW (1ULL << 39)

#define FI_ORDER_DATA (1ULL << 16)
/* #define FI_ORDER_DATA (1ULL << 16) */

enum fi_ep_type {
FI_EP_UNSPEC,
Expand Down
9 changes: 2 additions & 7 deletions man/fi_endpoint.3.md
Original file line number Diff line number Diff line change
Expand Up @@ -984,11 +984,6 @@ transfer operation in order to guarantee that ordering is met.
update operations. If not atomic updates may be
transmitted out of order from their submission.
*FI_ORDER_NONE*
: No ordering is specified. This value may be used as input in order
to obtain the default message order supported by the provider. FI_ORDER_NONE
is an alias for the value 0.
*FI_ORDER_RAR*
: Read after read. If set, RMA and atomic read operations are
transmitted in the order submitted relative to other
Expand Down Expand Up @@ -1230,7 +1225,7 @@ that messages will be handled in order based on a message level sequence
number.
The following ordering flags, as defined for transmit ordering, also
apply to the processing of received operations: FI_ORDER_NONE,
apply to the processing of received operations:
FI_ORDER_RAR, FI_ORDER_RAW, FI_ORDER_RAS, FI_ORDER_WAR, FI_ORDER_WAW,
FI_ORDER_WAS, FI_ORDER_SAR, FI_ORDER_SAW, FI_ORDER_SAS, FI_ORDER_RMA_RAR,
FI_ORDER_RMA_RAW, FI_ORDER_RMA_WAR, FI_ORDER_RMA_WAW, FI_ORDER_ATOMIC_RAR,
Expand Down Expand Up @@ -1526,7 +1521,7 @@ can return provider info structures that can support the minimal set
of requirements (such that the application maintains correctness).
However, it can also return provider info structures that exceed
application requirements. As an example, consider an application
requesting msg_order as FI_ORDER_NONE. The resulting output from
requesting no msg_order. The resulting output from
fi_getinfo may have all the ordering bits set. The application can reset
the ordering bits it does not require before creating the endpoint.
The provider is free to implement a stricter ordering than is
Expand Down
5 changes: 0 additions & 5 deletions man/fi_verbs.7.md
Original file line number Diff line number Diff line change
Expand Up @@ -93,11 +93,6 @@ Verbs provider support the following message ordering:

* Send after Send

and the following completion ordering:

* TX contexts: FI_ORDER_STRICT
* RX contexts: FI_ORDER_DATA

### Fork
Verbs provider does not provide fork safety by default. Fork safety can be requested
by setting IBV_FORK_SAFE, or RDMAV_FORK_SAFE. If the system configuration supports
Expand Down
2 changes: 1 addition & 1 deletion prov/efa/src/efa_prov_info.c
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
#define EFA_RX_RDM_OP_FLAGS (0)
#define EFA_RX_DGRM_OP_FLAGS (0)

#define EFA_MSG_ORDER (FI_ORDER_NONE)
#define EFA_MSG_ORDER (0)

#define EFA_NO_DEFAULT -1

Expand Down
3 changes: 1 addition & 2 deletions prov/usnic/src/usdf_dgram.h
Original file line number Diff line number Diff line change
Expand Up @@ -43,8 +43,7 @@

#define USDF_DGRAM_SUPP_MODE (FI_MSG_PREFIX)

#define USDF_DGRAM_MSG_ORDER (FI_ORDER_NONE)
#define USDF_DGRAM_COMP_ORDER (FI_ORDER_NONE)
#define USDF_DGRAM_MSG_ORDER (0)
#define USDF_DGRAM_INJECT_SIZE \
(USD_SEND_MAX_COPY - sizeof(struct usd_udp_hdr))
#define USDF_DGRAM_SUPP_SENDMSG_FLAGS \
Expand Down

0 comments on commit 03514ce

Please sign in to comment.