From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by dpdk.org (Postfix) with ESMTP id 99AF9FFA for ; Wed, 15 Jul 2015 03:37:33 +0200 (CEST) Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga103.fm.intel.com with ESMTP; 14 Jul 2015 18:37:32 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.15,476,1432623600"; d="scan'208";a="764597157" Received: from kmsmsx151.gar.corp.intel.com ([172.21.73.86]) by orsmga002.jf.intel.com with ESMTP; 14 Jul 2015 18:37:30 -0700 Received: from shsmsx104.ccr.corp.intel.com (10.239.4.70) by KMSMSX151.gar.corp.intel.com (172.21.73.86) with Microsoft SMTP Server (TLS) id 14.3.224.2; Wed, 15 Jul 2015 09:36:02 +0800 Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.165]) by SHSMSX104.ccr.corp.intel.com ([169.254.5.129]) with mapi id 14.03.0224.002; Wed, 15 Jul 2015 09:36:00 +0800 From: "Ouyang, Changchun" To: "Iremonger, Bernard" , "dev@dpdk.org" Thread-Topic: [PATCH 4/5] virtio: free queue memory in virtio_dev_close() Thread-Index: AQHQvjaW2CyFvQoqnEi6U9EIN+HQZ53bwGsw Date: Wed, 15 Jul 2015 01:36:00 +0000 Message-ID: References: <1436879459-18400-1-git-send-email-bernard.iremonger@intel.com> <1436879459-18400-5-git-send-email-bernard.iremonger@intel.com> In-Reply-To: <1436879459-18400-5-git-send-email-bernard.iremonger@intel.com> Accept-Language: zh-CN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.239.127.40] Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Subject: Re: [dpdk-dev] [PATCH 4/5] virtio: free queue memory in virtio_dev_close() 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: Wed, 15 Jul 2015 01:37:34 -0000 > -----Original Message----- > From: Iremonger, Bernard > Sent: Tuesday, July 14, 2015 9:11 PM > To: dev@dpdk.org > Cc: Ouyang, Changchun; stephen@networkplumber.org; Iremonger, Bernard > Subject: [PATCH 4/5] virtio: free queue memory in virtio_dev_close() >=20 > Add function virtio_free_queues() and call from virtio_dev_close() Use > virtio_dev_rx_queue_release() and virtio_dev_tx_queue_release() >=20 > Signed-off-by: Bernard Iremonger > --- > drivers/net/virtio/virtio_ethdev.c | 19 +++++++++++++++++++ > 1 file changed, 19 insertions(+) >=20 > diff --git a/drivers/net/virtio/virtio_ethdev.c > b/drivers/net/virtio/virtio_ethdev.c > index b32b3e9..4676ab1 100644 > --- a/drivers/net/virtio/virtio_ethdev.c > +++ b/drivers/net/virtio/virtio_ethdev.c > @@ -438,6 +438,24 @@ virtio_dev_cq_queue_setup(struct rte_eth_dev > *dev, uint16_t vtpci_queue_idx, } >=20 > static void > +virtio_free_queues(struct rte_eth_dev *dev) { > + unsigned int i; > + > + for (i =3D 0; i < dev->data->nb_rx_queues; i++) { > + virtio_dev_rx_queue_release(dev->data->rx_queues[i]); > + dev->data->rx_queues[i] =3D NULL; > + } > + dev->data->nb_rx_queues =3D 0; > + > + for (i =3D 0; i < dev->data->nb_tx_queues; i++) { > + virtio_dev_tx_queue_release(dev->data->tx_queues[i]); > + dev->data->tx_queues[i] =3D NULL; > + } > + dev->data->nb_tx_queues =3D 0; > +} > + > +static void > virtio_dev_close(struct rte_eth_dev *dev) { > struct virtio_hw *hw =3D dev->data->dev_private; @@ -451,6 +469,7 > @@ virtio_dev_close(struct rte_eth_dev *dev) > vtpci_reset(hw); > hw->started =3D 0; > virtio_dev_free_mbufs(dev); > + virtio_free_queues(dev); Validate it with vhost sample or not for this change? > } >=20 > static void > -- > 1.9.1