From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jianfeng Tan Subject: [PATCH 3/5] net/virtio: remove Rx queue interrupts when stopping Date: Sun, 4 Dec 2016 00:18:20 +0000 Message-ID: <1480810702-114815-4-git-send-email-jianfeng.tan@intel.com> References: <1480810702-114815-1-git-send-email-jianfeng.tan@intel.com> Cc: yuanhan.liu@linux.intel.com, stephen@networkplumber.org, Jianfeng Tan To: dev@dpdk.org Return-path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by dpdk.org (Postfix) with ESMTP id 1C8A358CF for ; Sun, 4 Dec 2016 01:17:50 +0100 (CET) In-Reply-To: <1480810702-114815-1-git-send-email-jianfeng.tan@intel.com> List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" This patch disables Rx queue interrupts, cleans the datapath event and queue/vector map when stopping the device. Signed-off-by: Jianfeng Tan --- drivers/net/virtio/virtio_ethdev.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/drivers/net/virtio/virtio_ethdev.c b/drivers/net/virtio/virtio_ethdev.c index 886524c..cc5750e 100644 --- a/drivers/net/virtio/virtio_ethdev.c +++ b/drivers/net/virtio/virtio_ethdev.c @@ -1484,7 +1484,6 @@ virtio_dev_start(struct rte_eth_dev *dev) PMD_DRV_LOG(ERR, "link status not supported by host"); return -ENOTSUP; } - } if (dev->data->dev_conf.intr_conf.rxq) { @@ -1611,11 +1610,17 @@ static void virtio_dev_stop(struct rte_eth_dev *dev) { struct rte_eth_link link; + struct rte_intr_conf *intr_conf = &dev->data->dev_conf.intr_conf; + struct rte_intr_handle *intr_handle = &dev->pci_dev->intr_handle; PMD_INIT_LOG(DEBUG, "stop"); - if (dev->data->dev_conf.intr_conf.lsc) - rte_intr_disable(&dev->pci_dev->intr_handle); + if (intr_conf->lsc || intr_conf->rxq) { + rte_intr_disable(intr_handle); + rte_intr_efd_disable(intr_handle); + rte_free(intr_handle->intr_vec); + intr_handle->intr_vec = NULL; + } memset(&link, 0, sizeof(link)); virtio_dev_atomic_write_link_status(dev, &link); -- 2.7.4