Skip to content

Commit

Permalink
TEST/APPS: Fix extracting driver name for IB device
Browse files Browse the repository at this point in the history
On new kernels, the RDMA device name is not indicative of driver name.
  • Loading branch information
yosefe committed Jun 25, 2019
1 parent aff9c45 commit d0bc960
Showing 1 changed file with 11 additions and 5 deletions.
16 changes: 11 additions & 5 deletions test/apps/test_ucx_tls.py
Original file line number Diff line number Diff line change
Expand Up @@ -112,17 +112,23 @@ def find_am_transport(dev, neps, override = 0) :
status, dev_attrs = commands.getstatusoutput("ibv_devinfo -d " + dev + " -i " + port)
if dev_attrs.find("PORT_ACTIVE") == -1:
continue


driver_name = os.path.basename(os.readlink("/sys/class/infiniband/%s/device/driver" % dev))
dev_name = driver_name.split("_")[0] # should be mlx4 or mlx5
if not dev_name in ['mlx4', 'mlx5']:
print "Invalid device name: ", dev_name
sys.exit(1)

if dev_attrs.find("Ethernet") == -1:
dev_tl_map = am_tls[dev[0:dev.index('_')]]
dev_tl_override_map = am_tls[dev[0:dev.index('_')] + "_override"]
dev_tl_map = am_tls[dev_name]
dev_tl_override_map = am_tls[dev_name + "_override"]
override = 1
else:
fw_ver = open("/sys/class/infiniband/%s/fw_ver" % dev).read()
if LooseVersion(fw_ver) >= LooseVersion("16.23.0"):
dev_tl_map = am_tls[dev[0:dev.index('_')]+"_roce_dc"]
dev_tl_map = am_tls[dev_name+"_roce_dc"]
else:
dev_tl_map = am_tls[dev[0:dev.index('_')]+"_roce_no_dc"]
dev_tl_map = am_tls[dev_name+"_roce_no_dc"]
override = 0

for n_eps in sorted(dev_tl_map):
Expand Down

0 comments on commit d0bc960

Please sign in to comment.