[root@rdma-dev-19 test]$ ibstat CA 'mlx5_2' CA type: MT4115 Number of ports: 1 Firmware version: 12.23.1020 Hardware version: 0 Node GUID: 0x248a07030049d338 System image GUID: 0x248a07030049d338 Port 1: State: Active Physical state: LinkUp Rate: 100 Base lid: 13 LMC: 0 SM lid: 1 Capability mask: 0x2659e848 Port GUID: 0x248a07030049d338 Link layer: InfiniBand CA 'mlx5_3' CA type: MT4115 Number of ports: 1 Firmware version: 12.23.1020 Hardware version: 0 Node GUID: 0x248a07030049d339 System image GUID: 0x248a07030049d338 Port 1: State: Active Physical state: LinkUp Rate: 40 Base lid: 38 LMC: 1 SM lid: 36 Capability mask: 0x2659e848 Port GUID: 0x248a07030049d339 Link layer: InfiniBand CA 'mlx5_bond_0' CA type: MT4117 Number of ports: 1 Firmware version: 14.23.1020 Hardware version: 0 Node GUID: 0x7cfe900300cb743a System image GUID: 0x7cfe900300cb743a Port 1: State: Active Physical state: LinkUp Rate: 10 Base lid: 0 LMC: 0 SM lid: 0 Capability mask: 0x00010000 Port GUID: 0x7efe90fffecb743a Link layer: Ethernet [root@rdma-dev-19 test]$ cat test.sh #!/bin/bash set -x export DAT_OVERRIDE=/root/test/dat.conf cat > ${DAT_OVERRIDE} << 'EOF' OpenIB-cma u2.0 nonthreadsafe default libdaplcma.so.1 dapl.2.0 "mlx5_bond_roce 0" "" ofa-v2-cma-roe-mlx5_bond_roce u2.0 nonthreadsafe default libdaplofa.so.2 dapl.2.0 "mlx5_bond_roce 0" "" ofa-v2-cma-roe-mlx5_ib0 u2.0 nonthreadsafe default libdaplofa.so.2 dapl.2.0 "mlx5_ib0 0" "" EOF cat ${DAT_OVERRIDE} cat test.c rm -f test.exe if [ ! -e test.exe ]; then gcc -ldat2 -Wall -Werror -g -o test.exe test.c fi if [ "x$2" = "xdebug" ]; then export DAPL_DBG_DEST=0x0001 export DAPL_DBG_TYPE=0xffffffff export DAPL_DBG_LEVEL=0xffff export DAT_DBG_TYPE_ENV=0xffff export DAT_DBG_TYPE=0xff export DAT_DBG_DEST=0x1 fi ulimit -n 50 ./test.exe ofa-v2-cma-roe-mlx5_bond_roce 8 ./test.exe ofa-v2-cma-roe-mlx5_ib0 8 [root@rdma-dev-19 test]$ [root@rdma-dev-19 test]$ sh test.sh + export DAT_OVERRIDE=/root/test/dat.conf + DAT_OVERRIDE=/root/test/dat.conf + cat + cat /root/test/dat.conf OpenIB-cma u2.0 nonthreadsafe default libdaplcma.so.1 dapl.2.0 "mlx5_bond_roce 0" "" ofa-v2-cma-roe-mlx5_bond_roce u2.0 nonthreadsafe default libdaplofa.so.2 dapl.2.0 "mlx5_bond_roce 0" "" ofa-v2-cma-roe-mlx5_ib0 u2.0 nonthreadsafe default libdaplofa.so.2 dapl.2.0 "mlx5_ib0 0" "" + cat test.c #include #include #include int main(int argc, char **argv) { DAT_IA_HANDLE iaHandle; DAT_EVD_HANDLE evdHandle; DAT_RETURN status; DAT_NAME_PTR gDevName; DAT_COUNT SVR_EVD_QLEN; int i; if (argc != 3) return -1; gDevName = argv[1]; SVR_EVD_QLEN = atoi(argv[2]); for(i = 0 ; i < 400 ; i++ ) { iaHandle = DAT_HANDLE_NULL; evdHandle = DAT_HANDLE_NULL; printf("open number %d\n", i); status = dat_ia_open(gDevName, SVR_EVD_QLEN, &evdHandle, &iaHandle); if (DAT_SUCCESS != status) { printf("dat_ia_open status = %u\n", status); return 1; } if (DAT_SUCCESS != (status = dat_ia_close(iaHandle, DAT_CLOSE_GRACEFUL_FLAG) )) { printf("dat_ia_close status = %u\n", status); return 1; } } //for(;;); return 0; } + rm -f test.exe + '[' '!' -e test.exe ']' + gcc -ldat2 -Wall -Werror -g -o test.exe test.c + '[' x = xdebug ']' + ulimit -n 50 + ./test.exe ofa-v2-cma-roe-mlx5_bond_roce 8 open number 0 open number 1 open number 2 open number 3 open number 4 open number 5 open number 6 open number 7 open number 8 open number 9 open number 10 open number 11 open number 12 open number 13 open number 14 open number 15 open number 16 open number 17 open number 18 open number 19 open number 20 open number 21 rdma-dev-19.lab.bos.redhat.com:CMA:2112e:24ea4640: 1735 us(1735 us): open_hca: ibv_create_comp_channel ERR Too many open files dat_ia_open status = 262144 + ./test.exe ofa-v2-cma-roe-mlx5_ib0 8 open number 0 open number 1 open number 2 open number 3 open number 4 open number 5 open number 6 open number 7 open number 8 open number 9 open number 10 open number 11 open number 12 open number 13 open number 14 open number 15 open number 16 open number 17 open number 18 open number 19 open number 20 open number 21 rdma-dev-19.lab.bos.redhat.com:CMA:21170:6c834640: 2294 us(2294 us): open_hca: ibv_create_comp_channel ERR Too many open files dat_ia_open status = 262144 [root@rdma-dev-19 test]$ ps -ef | grep test.exe root 135815 135807 90 08:35 pts/1 00:00:24 ./test.exe ofa-v2-cma-roe-mlx5_ib0 8 [root@rdma-dev-19 fd]$ ls -l | head total 0 lrwx------. 1 root root 64 Dec 26 08:36 0 -> /dev/pts/1 lrwx------. 1 root root 64 Dec 26 08:36 1 -> /dev/pts/1 lrwx------. 1 root root 64 Dec 26 08:36 10 -> /dev/infiniband/uverbs2 lrwx------. 1 root root 64 Dec 26 08:36 100 -> /dev/infiniband/uverbs2 lr-x------. 1 root root 64 Dec 26 08:36 101 -> anon_inode:[infinibandevent] lrwx------. 1 root root 64 Dec 26 08:36 102 -> /dev/infiniband/uverbs2 lr-x------. 1 root root 64 Dec 26 08:36 103 -> anon_inode:[infinibandevent] lrwx------. 1 root root 64 Dec 26 08:36 104 -> /dev/infiniband/uverbs2 lr-x------. 1 root root 64 Dec 26 08:36 105 -> anon_inode:[infinibandevent] The 'dev/infiniband/uverbs2' and 'anon_inode:[infinibandevent]' file handlers are leaked.