Hello,

I'm seeing a consistent crash when trying to run an iperf test using qede 
interface and DPDK. Running one iperf test on its own works fine but as soon as 
I attempt to run two in parallel through the same interface the crash occurs.

OVS configuration is:

ovs-vsctl set Open_vSwitch . other_config:dpdk-socket-mem="4096,0"
ovs-vsctl --no-wait set Open_vSwitch . other_config:vhost-iommu-support=true
ovs-vsctl --timeout 10 set Open_vSwitch . other_config:max-idle=30000
ovs-vsctl set Open_vSwitch . other_config:pmd-cpu-mask=0x1e

ovs-vsctl add-port br0 dpdk-p0 -- set Interface dpdk-p0 type=dpdk \
        options:dpdk-devargs=0000:45:00.0 \
        options:n_rxq=1 other_config:pmd-rxq-affinity="0:1" \
        options:flow-ctrl-autoneg=true \
        ofport=1

ovs-vsctl -- set Interface br1 mtu_request=1500
ovs-vsctl add-port br1 dpdk-p1 -- set Interface dpdk-p1 type=dpdk \
        options:dpdk-devargs=0000:45:00.1 \
        options:n_rxq=3 other_config:pmd-rxq-affinity="0:2,1:3,2:4" 
options:n_rxq_desc=2048 options:n_txq_desc=2048 \
        options:flow-ctrl-autoneg=true \
        mtu_request=1504 ofport=1

ip a add 192.168.190.77/25 dev br0
ip a add 192.168.190.200/25 dev br1

rm -f /dev/hugepages/*

ip link set br0 up
ip link set br1 up

ip route add default via 192.168.190.1 dev br0

ovs-vsctl set port dpdk-p1 qos=@qos -- \
        --id=@qos create qos type=trtcm-policer other-config:cir=250000000 
other-config:cbs=30080 other_config:eir=12500000 other-config:ebs=30080 
queues:1=@queue1 queues:2=@queue2 queues:3=@queue3 -- \
        --id=@queue1 create queue other-config:cir=220000000 
other-config:eir=10000000 other-config:cbs=30080 other-config:ebs=30080 -- \
        --id=@queue2 create queue other-config:cir=20000000 
other-config:eir=220000000 other-config:cbs=30080 other-config:ebs=30080 -- \
        --id=@queue3 create queue other-config:cir=10000000 
other-config:eir=10000000 other-config:cbs=30080 other-config:ebs=30080

ovs-ofctl del-flows br1

ovs-ofctl add-flow br1 
'table=0,priority=1,ip,ip_dst=0.0.0.201/0.0.0.255,actions=set_queue:0,resubmit(,1)'
ovs-ofctl add-flow br1 
'table=0,priority=1,ip,ip_dst=0.0.0.202/0.0.0.255,actions=set_queue:1,resubmit(,1)'
ovs-ofctl add-flow br1 
'table=0,priority=1,ip,ip_dst=0.0.0.203/0.0.0.255,actions=set_queue:2,resubmit(,1)'
ovs-ofctl add-flow br1 'table=0,priority=0,ip,actions=resubmit(,1)'

ovs-ofctl add-flow br1 'table=0,priority=0,arp,actions=all'

ovs-ofctl add-flow br1 'table=0,mpls,actions=pop_mpls:0x0800,local'

ovs-ofctl add-flow br1 
'table=1,ip,actions=move:ip_src[0..7]->reg0[0..7],push_mpls:0x8847,move:reg0[0..7]->mpls_label[0..7],set_field:2->mpls_tc,set_field:255->mpls_ttl,1'

The crash produces the following back-trace:

Process 2800 (ovs-vswitchd) of user 0 dumped core.

                                                       Stack trace of thread 
2800:
                                                       #0  0x00007f2f94f3470f 
raise (libc.so.6)
                                                       #1  0x00007f2f94f1eb25 
abort (libc.so.6)
                                                       #2  0x00007f2f94f77897 
__libc_message (libc.so.6)
                                                       #3  0x00007f2f94f7dfdc 
malloc_printerr (libc.so.6)
                                                       #4  0x00007f2f94f7fe44 
_int_free (libc.so.6)
                                                       #5  0x000000000050881a 
dp_packet_delete (ovs-vswitchd)
                                                       #6  0x000000000050883e 
dp_packet_delete_batch (ovs-vswitchd)
                                                       #7  0x000000000050a114 
dp_packet_delete_batch (ovs-vswitchd)
                                                       #8  0x000000000047d243 
netdev_send (ovs-vswitchd)
                                                       #9  0x0000000000458910 
dp_netdev_pmd_flush_output_on_port (ovs-vswitchd)
                                                       #10 0x0000000000458a1a 
dp_netdev_pmd_flush_output_packets (ovs-vswitchd)
                                                       #11 0x000000000045d705 
dp_netdev_process_rxq_port (ovs-vswitchd)
                                                       #12 0x000000000045deb5 
dpif_netdev_run (ovs-vswitchd)
                                                       #13 0x0000000000429e10 
type_run (ovs-vswitchd)
                                                       #14 0x0000000000418b10 
ofproto_type_run (ovs-vswitchd)
                                                       #15 0x000000000040c101 
bridge_run__ (ovs-vswitchd)
                                                       #16 0x0000000000410f3d 
bridge_run (ovs-vswitchd)
                                                       #17 0x0000000000409802 
main (ovs-vswitchd)
                                                       #18 0x00007f2f94f206a3 
__libc_start_main (libc.so.6)
                                                       #19 0x000000000040a2de 
_start (ovs-vswitchd)

                                                       Stack trace of thread 
2959:
                                                       #0  0x00007f2f94fedf21 
__poll (libc.so.6)
                                                       #1  0x00000000004dd2e9 
time_poll (ovs-vswitchd)
                                                       #2  0x00000000004cdb35 
poll_block (ovs-vswitchd)
                                                       #3  0x000000000052e9b3 
clean_thread_main (ovs-vswitchd)
                                                       #4  0x00000000004beba0 
ovsthread_wrapper (ovs-vswitchd)
                                                       #5  0x00007f2f95d9f2de 
start_thread (libpthread.so.0)
                                                       #6  0x00007f2f94ff8e83 
__clone (libc.so.6)

                                                       Stack trace of thread 
3069:
                                                       #0  0x000000000045d981 
pmd_thread_main (ovs-vswitchd)
                                                       #1  0x00000000004beba0 
ovsthread_wrapper (ovs-vswitchd)
                                                       #2  0x00007f2f95d9f2de 
start_thread (libpthread.so.0)
                                                       #3  0x00007f2f94ff8e83 
__clone (libc.so.6)

                                                       Stack trace of thread 
3071:
                                                       #0  0x000000000045d5d7 
rte_rdtsc (ovs-vswitchd)
                                                       #1  0x000000000045da10 
pmd_thread_main (ovs-vswitchd)
                                                       #2  0x00000000004beba0 
ovsthread_wrapper (ovs-vswitchd)
                                                       #3  0x00007f2f95d9f2de 
start_thread (libpthread.so.0)
                                                       #4  0x00007f2f94ff8e83 
__clone (libc.so.6)

                                                       Stack trace of thread 
3072:
                                                       #0  0x00007ffd370139c9 
n/a (linux-vdso.so.1)
                                                       #1  0x00007ffd37013bcc 
__vdso_clock_gettime (linux-vdso.so.1)
                                                       #2  0x00007f2f95006ea2 
__clock_gettime (libc.so.6)
                                                       #3  0x00000000004dceba 
xclock_gettime (ovs-vswitchd)
                                                       #4  0x00000000004dcefa 
time_timespec__ (ovs-vswitchd)
                                                       #5  0x00000000004dd421 
time_usec__ (ovs-vswitchd)
                                                       #6  0x000000000045d95f 
pmd_thread_ctx_time_update (ovs-vswitchd)
                                                       #7  0x00000000004beba0 
ovsthread_wrapper (ovs-vswitchd)
                                                       #8  0x00007f2f95d9f2de 
start_thread (libpthread.so.0)
                                                       #9  0x00007f2f94ff8e83 
__clone (libc.so.6)

                                                       Stack trace of thread 
3070:
                                                       #0  0x00000000004dced3 
time_timespec__ (ovs-vswitchd)
                                                       #1  0x00000000004dd421 
time_usec__ (ovs-vswitchd)
                                                       #2  0x000000000045d95f 
pmd_thread_ctx_time_update (ovs-vswitchd)
                                                       #3  0x00000000004beba0 
ovsthread_wrapper (ovs-vswitchd)
                                                       #4  0x00007f2f95d9f2de 
start_thread (libpthread.so.0)
                                                       #5  0x00007f2f94ff8e83 
__clone (libc.so.6)


                                                       Stack trace of thread 
2803:
                                                       #0  0x00007f2f94fc5238 
__nanosleep (libc.so.6)
                                                       #1  0x00007f2f94fc513e 
sleep (libc.so.6)
                                                       #2  0x00000000004e431e 
xsleep (ovs-vswitchd)
                                                       #3  0x0000000000506ef7 
dpdk_watchdog (ovs-vswitchd)
                                                       #4  0x00000000004beba0 
ovsthread_wrapper (ovs-vswitchd)
                                                       #5  0x00007f2f95d9f2de 
start_thread (libpthread.so.0)
                                                       #6  0x00007f2f94ff8e83 
__clone (libc.so.6)

                                                       Stack trace of thread 
2801:
                                                       #0  0x00007f2f94ff91b7 
epoll_wait (libc.so.6)
                                                       #1  0x00007f2f97560a44 
eal_intr_thread_main (librte_eal.so.20.0)
                                                       #2  0x00007f2f95d9f2de 
start_thread (libpthread.so.0)
                                                       #3  0x00007f2f94ff8e83 
__clone (libc.so.6)

                                                       Stack trace of thread 
2804:
                                                       #0  0x00007f2f94fedf21 
__poll (libc.so.6)
                                                       #1  0x00000000004dd2e9 
time_poll (ovs-vswitchd)
                                                       #2  0x00000000004cdb35 
poll_block (ovs-vswitchd)
                                                       #3  0x00000000004bd334 
ovsrcu_postpone_thread (ovs-vswitchd)
                                                       #4  0x00000000004beba0 
ovsthread_wrapper (ovs-vswitchd)
                                                       #5  0x00007f2f95d9f2de 
start_thread (libpthread.so.0)
                                                       #6  0x00007f2f94ff8e83 
__clone (libc.so.6)

                                                       Stack trace of thread 
2967:
                                                       #0  0x00007f2f94fedf21 
__poll (libc.so.6)
                                                       #1  0x00000000004dd2e9 
time_poll (ovs-vswitchd)
                                                       #2  0x00000000004cdb35 
poll_block (ovs-vswitchd)
                                                       #3  0x000000000043589b 
udpif_upcall_handler (ovs-vswitchd)
                                                       #4  0x00000000004beba0 
ovsthread_wrapper (ovs-vswitchd)
                                                       #5  0x00007f2f95d9f2de 
start_thread (libpthread.so.0)
                                                       #6  0x00007f2f94ff8e83 
__clone (libc.so.6)

                                                       Stack trace of thread 
2960:
                                                       #0  0x00007f2f94fedf21 
__poll (libc.so.6)
                                                       #1  0x00000000004dd2e9 
time_poll (ovs-vswitchd)
                                                       #2  0x00000000004cdb35 
poll_block (ovs-vswitchd)
                                                       #3  0x0000000000469dce 
ipf_clean_thread_main (ovs-vswitchd)
                                                       #4  0x00000000004beba0 
ovsthread_wrapper (ovs-vswitchd)
                                                       #5  0x00007f2f95d9f2de 
start_thread (libpthread.so.0)
                                                       #6  0x00007f2f94ff8e83 
__clone (libc.so.6)

                                                       Stack trace of thread 
2970:
                                                       #0  0x00007f2f94fedf21 
__poll (libc.so.6)
                                                       #1  0x00000000004dd2e9 
time_poll (ovs-vswitchd)
                                                       #2  0x00000000004cdb35 
poll_block (ovs-vswitchd)
                                                       #3  0x000000000043589b 
udpif_upcall_handler (ovs-vswitchd)
                                                       #4  0x00000000004beba0 
ovsthread_wrapper (ovs-vswitchd)
                                                       #5  0x00007f2f95d9f2de 
start_thread (libpthread.so.0)
                                                       #6  0x00007f2f94ff8e83 
__clone (libc.so.6)

                                                       Stack trace of thread 
2976:
                                                       #0  0x00007f2f94fedf21 
__poll (libc.so.6)
                                                       #1  0x00000000004dd2e9 
time_poll (ovs-vswitchd)
                                                       #2  0x00000000004cdb35 
poll_block (ovs-vswitchd)
                                                       #3  0x000000000043589b 
udpif_upcall_handler (ovs-vswitchd)
                                                       #4  0x00000000004beba0 
ovsthread_wrapper (ovs-vswitchd)
                                                       #5  0x00007f2f95d9f2de 
start_thread (libpthread.so.0)
                                                       #6  0x00007f2f94ff8e83 
__clone (libc.so.6)


Any idea as to what I might be doing wrong? Or is this a bug?

Thanks,
Bill Kozak
_______________________________________________
discuss mailing list
disc...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-discuss

Reply via email to