[dpdk-dev] [PATCH v4 02/12] vhost: support multiple queues in virtio dev

Tetsuya Mukawa mukawa at igel.co.jp
Thu Sep 3 04:27:23 CEST 2015


On 2015/08/12 17:02, Ouyang Changchun wrote:
> diff --git a/lib/librte_vhost/vhost_user/virtio-net-user.h b/lib/librte_vhost/vhost_user/virtio-net-user.h
> index df24860..2429836 100644
> --- a/lib/librte_vhost/vhost_user/virtio-net-user.h
> +++ b/lib/librte_vhost/vhost_user/virtio-net-user.h
> @@ -46,4 +46,6 @@ void user_set_vring_kick(struct vhost_device_ctx, struct VhostUserMsg *);
>
>  /*
> @@ -206,9 +213,17 @@ cleanup_device(struct virtio_net *dev)
>  static void
>  free_device(struct virtio_net_config_ll *ll_dev)
>  {
> -	/* Free any malloc'd memory */
> -	rte_free(ll_dev->dev.virtqueue[VIRTIO_RXQ]);
> -	rte_free(ll_dev->dev.virtqueue[VIRTIO_TXQ]);
> +	uint32_t qp_idx;
> +
> +	/*
> +	 * Free any malloc'd memory.
> +	 */
> +	/* Free every queue pair. */
> +	for (qp_idx = 0; qp_idx < ll_dev->dev.virt_qp_nb; qp_idx++) {
> +		uint32_t virt_rx_q_idx = qp_idx * VIRTIO_QNUM + VIRTIO_RXQ;
> +		rte_free(ll_dev->dev.virtqueue[virt_rx_q_idx]);

Hi Changchun,

Should we free tx queue also here?

Thanks,
Tetsuya

> +	}
> +	rte_free(ll_dev->dev.virtqueue);
>  	rte_free(ll_dev);
>  }
>  
>



More information about the dev mailing list