Skip to content

prov/efa: Introduce PPS enhancement interface#12225

Open
shijin-aws wants to merge 6 commits intoofiwg:mainfrom
shijin-aws:pps
Open

prov/efa: Introduce PPS enhancement interface#12225
shijin-aws wants to merge 6 commits intoofiwg:mainfrom
shijin-aws:pps

Conversation

@shijin-aws
Copy link
Copy Markdown
Contributor

A series of commit that introduce an operation level interface to allow user enhance the packet per second (PPS) .

shijin-aws added 6 commits May 8, 2026 01:09
Add enable_high_pps field to efa_env struct, gated by the
undocumented FI_EFA_ENABLE_HIGH_PPS environment variable.
This allows controlled rollout of PPS optimization before
firmware deployment is complete.

Signed-off-by: Shi Jin <sjina@amazon.com>
Define FI_EFA_WR_HIGH_PPS as a provider-specific operation
flag (bit 60) in fi_ext_efa.h. Applications pass this flag
in fi_writemsg() to hint the device to optimize for higher
message rate on RDMA write operations.

Signed-off-by: Shi Jin <sjina@amazon.com>
In efa_data_path_direct_post_write(), set the processing hint
bit in the TX WQE metadata ctrl3 field when both
efa_env.enable_high_pps and FI_EFA_WR_HIGH_PPS are set. Add
efa_send_wr_set_processing_hint_mask() helper and the
EFA_IO_TX_META_DESC_PROCESSING_HINT_MASK definition for the
new ctrl3 field in efa_io_defs.h.

Signed-off-by: Shi Jin <sjina@amazon.com>
Implement the rdma-core data path integration for the high PPS
processing hint on RDMA write operations. During QP creation, set
EFADV_WR_EX_WITH_PROCESSING_HINT in wr_flags to enable the WQE-level
hint setter. In efa_ibv_post_write(), call efadv_wr_set_processing_hint()
when both the feature flag and FI_EFA_WR_HIGH_PPS are set.

Add configure checks for efadv_qp_from_ibv_qp_ex, wr_flags, and
EFADV_WR_PROCESSING_HINT_BURST_PPS_SENSITIVE. All changes are guarded
by HAVE_EFADV_WR_PROCESSING_HINT for backward compatibility with older
rdma-core versions.

Signed-off-by: Shi Jin <sjina@amazon.com>
Add fi_efa_rma_bw, an EFA-specific RMA bandwidth test that
supports write and writedata operations with EFA-specific
features such as the FI_EFA_WR_HIGH_PPS flag.

Unlike fi_rma_bw, this test uses a nonblocking benchmark loop
that interleaves posting and completion polling to keep the
pipeline full, similar to the approach used by
rdma-core/perftest. This avoids blocking at window boundaries
and maximizes throughput.

Signed-off-by: Shi Jin <sjina@amazon.com>
Use FI_EFA_ENABLE_HIGH_PPS=1 explicitly to enable the feature
Disable shm because it is a efa-only test.

Signed-off-by: Shi Jin <sjina@amazon.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant