Open ZhangZhenhua opened 9 years ago
from the trace I see that a low lever libverbs API 'ibv_create_cq()' failure has occurred. Did you run any basic network test tool with VMA before this? Is you system and NIC up to date with all FW and MLNX_OFED stack?
Please verify netperf or sockperf are working as expected with VMA. Best if you can paste the output.
You can follow the example on the VMA User Manual which can be downloaded from http://www.mellanox.com/downloads/Accelerator/VMA_7.0.4_package.zip
Yes, both sockperf and iperf works. And the 2us latency seems pretty good.
Here is the output:
svr:
#LD_PRELOAD=libvma.so sockperf sr -i 14.14.15.12
sockperf: == version #2.5.254 ==
sockperf: [SERVER] listen on:
[ 0] IP = 14.14.15.12 PORT = 11111 # UDP
sockperf: Warmup stage (sending a few dummy messages)...
sockperf: [tid 6200] using recvfrom() to block on socket(s)
Client:
#LD_PRELOAD=libvma.so sockperf pp -i 14.14.15.12
sockperf: == version #2.5.254 ==
sockperf[CLIENT] send on:sockperf: using recvfrom() to block on socket(s)
[ 0] IP = 14.14.15.12 PORT = 11111 # UDP
sockperf: Warmup stage (sending a few dummy messages)...
sockperf: Starting test...
sockperf: Test end (interrupted by timer)
sockperf: Test ended
sockperf: [Total Run] RunTime=1.100 sec; SentMessages=242818; ReceivedMessages=242817
sockperf: ========= Printing statistics for Server No: 0
sockperf: [Valid Duration] RunTime=1.000 sec; SentMessages=224628; ReceivedMessages=224628
sockperf: ====> avg-lat= 2.154 (std-dev=1.429)
sockperf: # dropped messages = 0; # duplicated messages = 0; # out-of-order messages = 0
sockperf: Summary: Latency is 2.154 usec
sockperf: Total 224628 observations; each percentile contains 2246.28 observations
sockperf: ---> <MAX> observation = 178.810
sockperf: ---> percentile 99.99 = 13.762
sockperf: ---> percentile 99.90 = 6.445
sockperf: ---> percentile 99.50 = 5.190
sockperf: ---> percentile 99.00 = 5.009
sockperf: ---> percentile 95.00 = 2.689
sockperf: ---> percentile 90.00 = 2.390
sockperf: ---> percentile 75.00 = 2.147
sockperf: ---> percentile 50.00 = 1.998
sockperf: ---> percentile 25.00 = 1.962
sockperf: ---> <MIN> observation = 1.769
And here are some local configurations for your reference. Please let me know if you need more. Thanks!
[root@node-26 ~]# ibv_devices
device node GUID
------ ----------------
mlx4_0 e41d2d0300175860
[root@node-26 ~]# ibv_devinfo
hca_id: mlx4_0
transport: InfiniBand (0)
fw_ver: 2.34.5000
node_guid: e41d:2d03:0017:5860
sys_image_guid: e41d:2d03:0017:5860
vendor_id: 0x02c9
vendor_part_id: 4103
hw_ver: 0x0
board_id: MT_1090111023
phys_port_cnt: 2
port: 1
state: PORT_ACTIVE (4)
max_mtu: 4096 (5)
active_mtu: 1024 (3)
sm_lid: 0
port_lid: 0
port_lmc: 0x00
link_layer: Ethernet
port: 2
state: PORT_ACTIVE (4)
max_mtu: 4096 (5)
active_mtu: 1024 (3)
sm_lid: 0
port_lid: 0
port_lmc: 0x00
link_layer: Ethernet
[root@node-26 ~]# cat /etc/modprobe.d/mlnx.conf
# Module parameters for MLNX_OFED kernel modules
options ib_uverbs disable_raw_qp_enforcement=1
options mlx4_core fast_drop=1
options mlx4_core log_num_mgm_entry_size=-1
HI All,
An update on this issue. The crash disappears after I upgraded mlnx_ofed from 3.0.1 to 3.0.2.This time I am using VMA version 7.0.4. However it hangs there instead of crash. Below is the trace. Any ideas? Seems VMA had sent out the connection request but never got ACK back. Thanks very much!
(gdb) bt
#0 0x00007fe4d3cc6fa3 in epoll_wait () from /lib64/libc.so.6
#1 0x00007fe4d5c4e6e9 in sockinfo_tcp::rx_wait_helper(int&, bool) () from /usr/lib64/libvma.so
#2 0x00007fe4d5c4f08b in sockinfo_tcp::wait_for_conn_ready() () from /usr/lib64/libvma.so
#3 0x00007fe4d5c52e38 in sockinfo_tcp::connect(sockaddr const*, unsigned int) () from /usr/lib64/libvma.so
#4 0x00007fe4d5c6342b in connect () from /usr/lib64/libvma.so
#5 0x0000000000b4f037 in Pipe::connect() ()
#6 0x0000000000b53743 in Pipe::writer() ()
#7 0x0000000000b5f16d in Pipe::Writer::entry() ()
#8 0x00007fe4d4d36a51 in start_thread () from /lib64/libpthread.so.0
#9 0x00007fe4d3cc69ad in clone () from /lib64/libc.so.6
We did not test VMA with Ceph until now. It will take some time to reach that goal.
Can you try running without the high polling factor: VMA_RX_POLL=0 VMA_SELECT_POLL=0
For now I'll update the issue title to represent the "Ceph" as target application.
Thanks for your responding.
The hang issue is still there after setting VMA_RX_POLL=0 VMA_SELECT_POLL=0. The process had a page locked flag(L) with it. This flag was there too in my last run.
root 10698 0.5 2.7 1770236 904424 ? SLsl 01:32 0:01 /usr/bin/ceph-osd -i 0 --pid-file /var/run/ceph/osd.0.pid -c /etc/ceph/ceph.conf --cluster ceph
And the hang trace is
(gdb) t 148
[Switching to thread 148 (Thread 0x7f853a5be700 (LWP 10701))]#0 0x00007f853c1a9fa3 in epoll_wait () from /lib64/libc.so.6
(gdb) bt
#0 0x00007f853c1a9fa3 in epoll_wait () from /lib64/libc.so.6
#1 0x00007f853e330501 in event_handler_manager::thread_loop() () from /usr/lib64/libvma.so
#2 0x00007f853e330cd6 in event_handler_thread(void*) () from /usr/lib64/libvma.so
#3 0x00007f853d219a51 in start_thread () from /lib64/libpthread.so.0
#4 0x00007f853c1a99ad in clone () from /lib64/libc.so.6
(gdb) t 64
[Switching to thread 64 (Thread 0x7f84f47cc700 (LWP 11764))]#0 0x00007f853c1a0183 in poll () from /lib64/libc.so.6
(gdb) bt
#0 0x00007f853c1a0183 in poll () from /lib64/libc.so.6
#1 0x00007f853e33ad51 in poll_call::wait_os(bool) () from /usr/lib64/libvma.so
#2 0x00007f853e339c3a in io_mux_call::call() () from /usr/lib64/libvma.so
#3 0x00007f853e38c55b in poll_helper(pollfd*, unsigned long, int, __sigset_t const*) () from /usr/lib64/libvma.so
#4 0x0000000000b77451 in Pipe::tcp_read_wait() ()
#5 0x0000000000b7f2a0 in Pipe::tcp_read(char*, int) ()
#6 0x0000000000b8ee8f in Pipe::reader() ()
#7 0x0000000000b92d2d in Pipe::Reader::entry() ()
#8 0x00007f853d219a51 in start_thread () from /lib64/libpthread.so.0
#9 0x00007f853c1a99ad in clone () from /lib64/libc.so.6
Hi,
I tried to use libvma in my Ceph cluster recently. However, I met same crash in version 6.9.1(installed via RPM) and 7.0.5(installed from src with debug enabled). The core trace is pasted below. Cloud some one help to look at this issue? Thanks very much!