[PATCH v5 0/3] Support PERF MGMT for RXE

zhenwei pi posted 3 patches 2 months, 1 week ago
There is a newer version of this series
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 +-
10 files changed, 129 insertions(+), 13 deletions(-)
create mode 100644 drivers/infiniband/sw/rxe/rxe_mad.c
[PATCH v5 0/3] Support PERF MGMT for RXE
Posted by zhenwei pi 2 months, 1 week ago
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.

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 +-
 10 files changed, 129 insertions(+), 13 deletions(-)
 create mode 100644 drivers/infiniband/sw/rxe/rxe_mad.c

-- 
2.43.0
Re: [PATCH v5 0/3] Support PERF MGMT for RXE
Posted by Zhu Yanjun 2 months ago
在 2026/4/7 17:09, zhenwei pi 写道:
> 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.
> 

I am not sure whether you would prefer to add a test case under 
tools/testing/selftests/rdma or in rdma-core to verify this feature.

If it is possible to include a test case in either selftests or 
rdma-core, it would be very helpful for the supporters to validate this 
patch set.

Just my two cents.

Zhu Yanjun

> 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.
> 
> 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 +-
>   10 files changed, 129 insertions(+), 13 deletions(-)
>   create mode 100644 drivers/infiniband/sw/rxe/rxe_mad.c
>