mbox series

[rdma-next,0/2] Query IBoE speed directly

Message ID cover.1681132096.git.leon@kernel.org (mailing list archive)
Headers show
Series Query IBoE speed directly | expand

Message

Leon Romanovsky April 10, 2023, 1:12 p.m. UTC
From: Leon Romanovsky <leonro@nvidia.com>

From Mark,

This series adds a new driver API to query the IBoE link speed, as well
as the mlx5 implementation.

Currently the ethtool API is used, which must be protected with the rtnl
lock. This becomes a bottleneck when try to create many rdma-cm
connections at the same time, especially with multiple processes.

With this new API we can get rid of the rtnl lock and ethtool operation.
Test result shows clear improvement, An example below (the time needed
for a process to create all connections):

        One process with    One process with     Eight processes, each
	1,000 connections   10,000 connections   with 1,000 connections
old:         10330ms             106107ms            47723ms
new:         7937ms              80108ms             19446ms
Improvement: 23.2%                24.5%               59.3%

Thanks

Mark Zhang (2):
  IB/core: Query IBoE link speed with a new driver API
  IB/mlx5: Implement query_iboe_speed driver API

 drivers/infiniband/core/cma.c                |  6 ++-
 drivers/infiniband/core/device.c             |  1 +
 drivers/infiniband/hw/mlx5/main.c            | 41 ++++++++++++++++++++
 drivers/infiniband/ulp/ipoib/ipoib_ethtool.c | 24 ------------
 include/rdma/ib_addr.h                       | 31 +++++++++------
 include/rdma/ib_verbs.h                      | 26 +++++++++++++
 6 files changed, 92 insertions(+), 37 deletions(-)