[ovs-dev] ovs-vswitchd got stuck when delete dpdk port with ovs hw-offload enabled

Frank Wang(王培辉) wangpeihui at inspur.com
Wed Jun 17 11:08:06 UTC 2020


Hello

 

         I’m encountered a problem that ovs-vswitchd got stuck while I
tried to delete the dpdk port from bridge in in probability, when I turn off
hw-offload,it’s won’t happen again.I’m using the latest ovs 2.13.1
version, CentOS 7.6, please help me out here, thanks in advance.

 

Here is the ovs-vswitchd stack, it seems a deadlock:

Thread 41 (Thread 0x7f2e2fdfe700 (LWP 156099)):

#0  0x00007f2e975224ed in __lll_lock_wait () from /lib64/libpthread.so.0

#1  0x00007f2e9751dde6 in _L_lock_941 () from /lib64/libpthread.so.0

#2  0x00007f2e9751dcdf in pthread_mutex_lock () from /lib64/libpthread.so.0

#3  0x00007f2e98562318 in ovs_mutex_lock_at () from /lib64/libopenvswitch-2.
13.so.0

#4  0x00007f2e984c5469 in dpif_netdev_get_flow_offload_status () from
/lib64/libopenvswitch-2.13.so.0

#5  0x00007f2e984c5504 in get_dpif_flow_status () from
/lib64/libopenvswitch-2.13.so.0

#6  0x00007f2e984cd411 in dp_netdev_flow_to_dpif_flow () from
/lib64/libopenvswitch-2.13.so.0

#7  0x00007f2e984cd708 in dpif_netdev_flow_dump_next () from
/lib64/libopenvswitch-2.13.so.0

#8  0x00007f2e984d86f2 in dpif_flow_dump_next () from
/lib64/libopenvswitch-2.13.so.0

#9  0x00007f2e98b46547 in revalidate.isra.23 () from /lib64/libofproto-2.13.
so.0

#10 0x00007f2e98b46db3 in udpif_revalidator () from
/lib64/libofproto-2.13.so.0

#11 0x00007f2e9856307f in ovsthread_wrapper () from /lib64/libopenvswitch-2.
13.so.0

#12 0x00007f2e9751bdd5 in start_thread () from /lib64/libpthread.so.0

#13 0x00007f2e96a39ead in clone () from /lib64/libc.so.6

Thread 40 (Thread 0x7f2e2fbfd700 (LWP 156100)):

#0  0x00007f2e975224ed in __lll_lock_wait () from /lib64/libpthread.so.0

#1  0x00007f2e9751dde6 in _L_lock_941 () from /lib64/libpthread.so.0

#2  0x00007f2e9751dcdf in pthread_mutex_lock () from /lib64/libpthread.so.0

#3  0x00007f2e98562318 in ovs_mutex_lock_at () from /lib64/libopenvswitch-2.
13.so.0

#4  0x00007f2e984c5469 in dpif_netdev_get_flow_offload_status () from
/lib64/libopenvswitch-2.13.so.0

#5  0x00007f2e984c5504 in get_dpif_flow_status () from
/lib64/libopenvswitch-2.13.so.0

#6  0x00007f2e984cd411 in dp_netdev_flow_to_dpif_flow () from
/lib64/libopenvswitch-2.13.so.0

#7  0x00007f2e984cd708 in dpif_netdev_flow_dump_next () from
/lib64/libopenvswitch-2.13.so.0

#8  0x00007f2e984d86f2 in dpif_flow_dump_next () from
/lib64/libopenvswitch-2.13.so.0

#9  0x00007f2e98b46547 in revalidate.isra.23 () from /lib64/libofproto-2.13.
so.0

#10 0x00007f2e98b46db3 in udpif_revalidator () from
/lib64/libofproto-2.13.so.0

#11 0x00007f2e9856307f in ovsthread_wrapper () from /lib64/libopenvswitch-2.
13.so.0

#12 0x00007f2e9751bdd5 in start_thread () from /lib64/libpthread.so.0

#13 0x00007f2e96a39ead in clone () from /lib64/libc.so.6

 

…

Thread 1 (Thread 0x7f2eaa999000 (LWP 155698)):

#0  0x00007f2e96a2f20d in poll () from /lib64/libc.so.6

#1  0x00007f2e98593064 in time_poll () from /lib64/libopenvswitch-2.13.so.0

#2  0x00007f2e9857a50c in poll_block () from /lib64/libopenvswitch-2.13.so.0

#3  0x00007f2e98562f78 in ovs_barrier_block () from /lib64/libopenvswitch-2.
13.so.0

#4  0x00007f2e98b432be in dp_purge_cb () from /lib64/libofproto-2.13.so.0

#5  0x00007f2e984c8391 in dp_netdev_del_pmd () from /lib64/libopenvswitch-2.
13.so.0

#6  0x00007f2e984c9a67 in reconfigure_datapath () from
/lib64/libopenvswitch-2.13.so.0

#7  0x00007f2e984cacbd in do_del_port () from /lib64/libopenvswitch-2.13.so.
0

#8  0x00007f2e984ccd5f in dpif_netdev_port_del () from
/lib64/libopenvswitch-2.13.so.0

#9  0x00007f2e984d74dc in dpif_port_del () from
/lib64/libopenvswitch-2.13.so.0

#10 0x00007f2e98b31595 in port_del () from /lib64/libofproto-2.13.so.0

#11 0x00007f2e98b1fe90 in ofproto_port_del () from
/lib64/libofproto-2.13.so.0

#12 0x000056187a856aa6 in bridge_delete_or_reconfigure_ports ()

#13 0x000056187a858490 in bridge_reconfigure ()

#14 0x000056187a85be26 in bridge_run ()

#15 0x000056187a85235d in main ()

 

-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: stack.txt
URL: <http://mail.openvswitch.org/pipermail/ovs-dev/attachments/20200617/981e4c82/attachment-0001.txt>


More information about the dev mailing list