From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yuanhan Liu Subject: Re: [PATCH 1/8] net/virtio: revert "virtio: fix restart" Date: Fri, 4 Nov 2016 10:00:05 +0800 Message-ID: <20161104020005.GV16751@yliu-dev.sh.intel.com> References: <1478189400-14606-1-git-send-email-yuanhan.liu@linux.intel.com> <1478189400-14606-2-git-send-email-yuanhan.liu@linux.intel.com> <915489cd-7e1a-9a0c-ab9d-780f6103501b@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: dev@dpdk.org, stable@dpdk.org, Ilya Maximets To: Maxime Coquelin Return-path: Content-Disposition: inline In-Reply-To: <915489cd-7e1a-9a0c-ab9d-780f6103501b@redhat.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" On Thu, Nov 03, 2016 at 09:36:52PM +0100, Maxime Coquelin wrote: > Hi Yuanhan, > > On 11/03/2016 05:09 PM, Yuanhan Liu wrote: > >This reverts commit 9a0615af7746 ("virtio: fix restart"); conflict is > >manually addressed. > > > >Kyle reported an issue with above commit > > > > qemu-kvm: Guest moved used index from 5 to 1 > > > >with following steps, > > > > 1) Start my virtio interfaces > > 2) Send some traffic into/out of the interfaces > > 3) Stop the interfaces > > 4) Start the interfaces > > 5) Send some more traffic > > > >And here are some quotes from Kyle's analysis, > > > > Prior to the patch, if an interface were stopped then started, without > > restarting the application, the queues would be left as-is, because > > hw->started would be set to 1. Now, calling stop sets hw->started to 0, > > which means the next call to start will "touch the queues". This is the > > unintended side-effect that causes the problem. > > Maybe a good idea to explain what is the problem the revert aims to fix. It aims to fix the issue, by "not touching the queues" on restart. > It does not seem to be clearly stated in the commit message. I was thinking the quote from Kyle is enough. How about following supplement: We should not touch the queues once the init is done, otherwise, the vring state of virtio PMD driver and vhost-user would be inconsistent, leading some issue like above. Thus this patch is reverted. Better now? --yliu