From: Leon Romanovsky <leonro@xxxxxxxxxx> >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(-) -- 2.39.2