> On 31.01.2019 11:48, Lilijun wrote: > > This patch fix the dead lock when using dpdk userspace datapath. The > > problem is described as follows: > > 1) when add or delete port, the main thread will call > > reconfigure_datapath() in the function dpif_netdev_run() > > 2) Here the dp->port_mutex is locked. In dp_netdev_reload_pmd__(), it > > will notify each pmd to reload. > > 3) If pmd is doing packet upcall in fast_path_processing() and try to > > get > > dp->port_mutex in > > do_xlate_actions()-->tnl_route_lookup_flow()-- > >dpif_netdev_port_query_by_name(). > > Here pmd get lock failed because the main thread has got the lock in > > step 2. > > 4) So the main thread was stuck for waiting pmd to reload done. Now we > > got a dead lock. > > > > Here reload_affected_pmds() may not need to lock dp->port_mutex. So we > > release the lock temporarily when calling reload_affected_pmds(). > > > > Signed-off-by: Lilijun <jerry.lili...@huawei.com> > > Replying just to keep answers on a list/patchwork consistent. > The deadlock caused by some local changes done by the user. > Not possible in upstream master. See discussion for the previous version > of this patch that is missing in patchwork for some reason: > > https://mail.openvswitch.org/pipermail/ovs-dev/2019-January/355756.html > > Best regards, Ilya Maximets. >
Thanks for clarifying Ilya, there was discussion of this at the community meeting yesterday but it seems a non-issue now. Thanks Ian _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev