From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Monjalon Subject: Re: [PATCH v3] vhost: fix connect hang in client mode Date: Fri, 22 Jul 2016 00:21:27 +0200 Message-ID: <4631229.NI0eBICl3e@xps13> References: <1469089275-15209-1-git-send-email-i.maximets@samsung.com> <1469107175-1216-1-git-send-email-i.maximets@samsung.com> <20160721133558.GK28708@yliu-dev.sh.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7Bit Cc: Yuanhan Liu , dev@dpdk.org, Huawei Xie , Dyasly Sergey , Heetae Ahn To: Ilya Maximets Return-path: Received: from mail-wm0-f46.google.com (mail-wm0-f46.google.com [74.125.82.46]) by dpdk.org (Postfix) with ESMTP id 90C975A49 for ; Fri, 22 Jul 2016 00:21:29 +0200 (CEST) Received: by mail-wm0-f46.google.com with SMTP id f65so36650130wmi.0 for ; Thu, 21 Jul 2016 15:21:29 -0700 (PDT) In-Reply-To: <20160721133558.GK28708@yliu-dev.sh.intel.com> List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 2016-07-21 21:35, Yuanhan Liu: > On Thu, Jul 21, 2016 at 04:19:35PM +0300, Ilya Maximets wrote: > > If something abnormal happened to QEMU, 'connect()' can block calling > > thread (e.g. main thread of OVS) forever or for a really long time. > > This can break whole application or block the reconnection thread. > > > > Example with OVS: > > > > ovs_rcu(urcu2)|WARN|blocked 512000 ms waiting for main to quiesce > > (gdb) bt > > #0 connect () from /lib64/libpthread.so.0 > > #1 vhost_user_create_client (vsocket=0xa816e0) > > #2 rte_vhost_driver_register > > #3 netdev_dpdk_vhost_user_construct > > #4 netdev_open (name=0xa664b0 "vhost1") > > [...] > > #11 main > > > > Fix that by setting non-blocking mode for client sockets for connection. > > > > Fixes: 64ab701c3d1e ("vhost: add vhost-user client mode") > > > > Signed-off-by: Ilya Maximets > > Acked-by: Yuanhan Liu Applied, thanks