From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by dpdk.org (Postfix) with ESMTP id CB77D8E79 for ; Mon, 12 Oct 2015 10:39:20 +0200 (CEST) Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga102.jf.intel.com with ESMTP; 12 Oct 2015 01:39:19 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.17,671,1437462000"; d="scan'208";a="824565193" Received: from yliu-dev.sh.intel.com (HELO yliu-dev) ([10.239.66.49]) by orsmga002.jf.intel.com with ESMTP; 12 Oct 2015 01:39:18 -0700 Date: Mon, 12 Oct 2015 16:39:56 +0800 From: Yuanhan Liu To: Steffen Bauch , Nikita Kalyazin Message-ID: <20151012083956.GF3115@yliu-dev.sh.intel.com> References: <1442589061-19225-1-git-send-email-yuanhan.liu@linux.intel.com> <1442589061-19225-8-git-send-email-yuanhan.liu@linux.intel.com> <20150920121748-mutt-send-email-mst@redhat.com> <20150921063647.GQ2339@yliu-dev.sh.intel.com> <20151008153205.GB21145@kalyazin.rnd.samsung.ru> <5616D736.2040108@steffenbauch.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <5616D736.2040108@steffenbauch.de> User-Agent: Mutt/1.5.21 (2010-09-15) Cc: dev@dpdk.org Subject: Re: [dpdk-dev] [PATCH v5 resend 07/12] virtio: resolve for control queue X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 12 Oct 2015 08:39:21 -0000 On Thu, Oct 08, 2015 at 10:51:02PM +0200, Steffen Bauch wrote: > > > On 10/08/2015 05:32 PM, Nikita Kalyazin wrote: > >Hi Yuanhan, > > > > > >As I understand, the dead loop happened here (virtio_send_command): > >while (vq->vq_used_cons_idx == vq->vq_ring.used->idx) { > > rte_rmb(); > > usleep(100); > >} > > > >Could you explain why wrong config reading caused that and how correct reading helps to avoid? Wrong config reading results to wrong config->max_virtqueue_pairs, which ends up with wrong ctrl vq index being set: PMD: virtio_send_command(): vq->vq_queue_index = 37120 Note that you need enable CONFIG_RTE_LIBRTE_VIRTIO_DEBUG_INIT to see above debug log. That is to say we are waiting for the backend to consume a non-exist queue, and that's how the dead loop comes. > > > Hi, > > I just recognized that this dead loop is the same one that I have > experienced (see > http://dpdk.org/ml/archives/dev/2015-October/024737.html for > reference). Just applying the changes in this patch (only 07/12) > will not fix the dead loop at least in my setup. Try to enable CONFIG_RTE_LIBRTE_VIRTIO_DEBUG_INIT, and dump more log? --yliu