From mboxrd@z Thu Jan 1 00:00:00 1970 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) Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga104.fm.intel.com with ESMTP; 03 Nov 2016 09:09:07 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.31,587,1473145200"; d="scan'208";a="1080138909" Received: from yliu-dev.sh.intel.com ([10.239.67.162]) by fmsmga002.fm.intel.com with ESMTP; 03 Nov 2016 09:09:07 -0700 From: Yuanhan Liu To: dev@dpdk.org Date: Fri, 4 Nov 2016 00:09:52 +0800 Message-Id: <1478189400-14606-1-git-send-email-yuanhan.liu@linux.intel.com> X-Mailer: git-send-email 1.9.0 Cc: Ilya Maximets Subject: [dpdk-dev] [PATCH 0/8] net/virtio: fix queue reconfigure issue 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: Thu, 03 Nov 2016 16:09:09 -0000 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