From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yuanhan Liu Subject: [PATCH 0/8] net/virtio: fix queue reconfigure issue Date: Fri, 4 Nov 2016 00:09:52 +0800 Message-ID: <1478189400-14606-1-git-send-email-yuanhan.liu@linux.intel.com> Cc: Ilya Maximets To: dev@dpdk.org Return-path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by dpdk.org (Postfix) with ESMTP id B8DBF29CF for ; Thu, 3 Nov 2016 17:09:08 +0100 (CET) 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" This patchset fixes an issue (virtio/vhost become broken when queue setup is done 2 or more times, check patch 2 for great details) reported by Ilya at the late stage of last release. I sensed it would be some amounts of code work, that I delayed it to this release. However, I failed to make the fix in the early stage of this release, that we come to the same situation again: we are being at the late stage of v16.11 :( However, honestly, I don't want to miss it again in this release, as it is hard to backport such fix to a stable release. It's not a bug can be fixed by few lines of code. The virtio init logic is quite wrong that I need change quite many places to fix it. Meanwhile, I have done my best to keep the change being as minimal as possible. Besides that, judging that v16.11 would be a LTS and it's such an severe bug that should be fixed ASAP (at least, we should make it work in a LTS release), I then tried hard today to make this patchset, with the hope we could fix this severe issue at this release. The issue is decribed in length in patch 4 "net/virtio: allocate queue at init stage". Again, it's not a bug can be fixed by one patch, that you see no one "fix" tag in none of those patches. All below patches work together to fix this issue. Thanks. --yliu --- Yuanhan Liu (8): net/virtio: revert "virtio: fix restart" net/virtio: simplify queue memzone name net/virtio: simplify queue allocation net/virtio: allocate queue at init stage net/virtio: initiate vring at init stage net/virtio: move queue configure code to proper place net/virtio: complete init stage at the right place net/virtio: remove started field drivers/net/virtio/virtio_ethdev.c | 182 ++++++++++++++++----------- drivers/net/virtio/virtio_ethdev.h | 10 -- drivers/net/virtio/virtio_pci.h | 3 +- drivers/net/virtio/virtio_rxtx.c | 247 ++++++++++++++----------------------- drivers/net/virtio/virtqueue.h | 7 ++ 5 files changed, 208 insertions(+), 241 deletions(-) -- 1.9.0