[PATCH v7 0/4] Support PERF MGMT for RXE

zhenwei pi
2026-04-14T06:30:13Z

v7:
- use 'counters/port_xmit_data' & 'counters/port_rcv_data' instead of
'hw_counters/sent_bytes' & 'hw_counters/rcvd_bytes'

v6:
- return IB_MAD_RESULT_SUCCESS instead of 'IB_MAD_RESULT_SUCCESS | IB_MAD_RESULT_REPLY'
on unsupported method
- add a script to verify the sent/rcvd bytes which is wrotten by Yanjun

v5:
- remove patch "RDMA/core: Fix memory free for GID table", it was
applied by Jason separately.
- suggested by Yanjun, use 'skb_network_offset' to calculate the
length of received packets.

v4:
- drop rxe_ib_device_get_netdev and RXE_PORT, use 1 instead
- avoid UAF to get skb length
- remove one-line wrapper rxe_counter_get, use atomic64_read instead
- fix memory free for GID table, this is a new patch in this series.

v3:
- merge 'RDMA/rxe: use rxe_counter_get' into previous commit
- zero *out* MAD memory
- return success with error status rather than failure to avoid
uplayer hang

v2:
- Fix overflow for PMA counter *link_downed_counter*
- Use *rxe_counter_get* instead of *atomic64_read* for hw-counters

v1:
Support PERF MGMT for RXE, add sent/received bytes for RXE counters,
also improve coding style.

Zhu Yanjun (1):
selftest/rxe: Add selftests for perf

zhenwei pi (3):
RDMA/rxe: remove rxe_ib_device_get_netdev() and RXE_PORT
RDMA/rxe: add SENT/RCVD bytes
RDMA/rxe: support perf mgmt GET method

drivers/infiniband/sw/rxe/Makefile | 1 +
drivers/infiniband/sw/rxe/rxe_hw_counters.c | 2 +
drivers/infiniband/sw/rxe/rxe_hw_counters.h | 2 +
drivers/infiniband/sw/rxe/rxe_loc.h | 6 ++
drivers/infiniband/sw/rxe/rxe_mad.c | 101 ++++++++++++++++++
drivers/infiniband/sw/rxe/rxe_mcast.c | 4 +-
drivers/infiniband/sw/rxe/rxe_net.c | 9 +-
drivers/infiniband/sw/rxe/rxe_recv.c | 2 +
drivers/infiniband/sw/rxe/rxe_verbs.c | 5 +-
drivers/infiniband/sw/rxe/rxe_verbs.h | 10 +-
tools/testing/selftests/rdma/Makefile | 3 +-
.../selftests/rdma/rxe_sent_rcvd_bytes.sh | 75 +++++++++++++
12 files changed, 206 insertions(+), 14 deletions(-)
create mode 100644 drivers/infiniband/sw/rxe/rxe_mad.c
create mode 100755 tools/testing/selftests/rdma/rxe_sent_rcvd_bytes.sh

--
2.43.0