[dpdk-dev] [PATCH 4/5] virtio: free queue memory in virtio_dev_close()

Ouyang, Changchun changchun.ouyang at intel.com
Wed Jul 15 10:36:49 CEST 2015


Hi, Bernard

> -----Original Message-----
> From: Iremonger, Bernard
> Sent: Wednesday, July 15, 2015 4:02 PM
> To: Ouyang, Changchun; dev at dpdk.org
> Cc: Xu, Qian Q; stephen at networkplumber.org
> Subject: RE: [PATCH 4/5] virtio: free queue memory in virtio_dev_close()
> 
> Hi  Ouyang,
> 
> <snip>
> 
> > > --- 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,  }
> > >
> > >  static void
> > > +virtio_free_queues(struct rte_eth_dev *dev) {
> > > +	unsigned int i;
> > > +
> > > +	for (i = 0; i < dev->data->nb_rx_queues; i++) {
> > > +		virtio_dev_rx_queue_release(dev->data->rx_queues[i]);
> > > +		dev->data->rx_queues[i] = NULL;
> > > +	}
> > > +	dev->data->nb_rx_queues = 0;
> > > +
> > > +	for (i = 0; i < dev->data->nb_tx_queues; i++) {
> > > +		virtio_dev_tx_queue_release(dev->data->tx_queues[i]);
> > > +		dev->data->tx_queues[i] = NULL;
> > > +	}
> > > +	dev->data->nb_tx_queues = 0;
> > > +}
> > > +
> > > +static void
> > >  virtio_dev_close(struct rte_eth_dev *dev)  {
> > >  	struct virtio_hw *hw = dev->data->dev_private; @@ -451,6 +469,7
> > @@
> > > virtio_dev_close(struct rte_eth_dev *dev)
> > >  	vtpci_reset(hw);
> > >  	hw->started = 0;
> > >  	virtio_dev_free_mbufs(dev);
> > > +	virtio_free_queues(dev);
> >
> > Validate it with vhost sample or not for this change?
> 
> I have tested this change with testpmd on a Fedora VM.

I think we should make sure it will not break any current test case for virtio,
So before applying it, it needs use vhost sample on host and test the virtio driver on guest.

Thanks
Changchun
   


More information about the dev mailing list