[dpdk-dev] [PATCH 3/3] net/virtio: pack virtuqueue struct
Xia, Chenbo
chenbo.xia at intel.com
Mon Jan 11 03:56:00 CET 2021
Hi Maxime,
> -----Original Message-----
> From: Maxime Coquelin <maxime.coquelin at redhat.com>
> Sent: Tuesday, December 22, 2020 12:15 AM
> To: dev at dpdk.org; Xia, Chenbo <chenbo.xia at intel.com>; amorenoz at redhat.com;
> david.marchand at redhat.com; olivier.matz at 6wind.com
> Cc: Maxime Coquelin <maxime.coquelin at redhat.com>
> Subject: [PATCH 3/3] net/virtio: pack virtuqueue struct
s/virtuqueue/virtqueue
>
> This patch optimizes packing of the virtuqueue
Ditto
With above fixed:
Reviewed-by: Chenbo Xia <chenbo.xia at intel.com>
> struct by moving fields around to fill holes.
>
> Offset field is not used and so can be removed.
>
> Signed-off-by: Maxime Coquelin <maxime.coquelin at redhat.com>
> ---
> drivers/net/virtio/virtqueue.h | 18 +++++++++---------
> 1 file changed, 9 insertions(+), 9 deletions(-)
>
> diff --git a/drivers/net/virtio/virtqueue.h b/drivers/net/virtio/virtqueue.h
> index c64e7dcbdf..3b08aac931 100644
> --- a/drivers/net/virtio/virtqueue.h
> +++ b/drivers/net/virtio/virtqueue.h
> @@ -245,6 +245,15 @@ struct virtqueue {
> uint16_t vq_avail_idx; /**< sync until needed */
> uint16_t vq_free_thresh; /**< free threshold */
>
> + /**
> + * Head of the free chain in the descriptor table. If
> + * there are no free descriptors, this will be set to
> + * VQ_RING_DESC_CHAIN_END.
> + */
> + uint16_t vq_desc_head_idx;
> + uint16_t vq_desc_tail_idx;
> + uint16_t vq_queue_index; /**< PCI queue index */
> +
> void *vq_ring_virt_mem; /**< linear address of vring*/
> unsigned int vq_ring_size;
>
> @@ -257,15 +266,6 @@ struct virtqueue {
> rte_iova_t vq_ring_mem; /**< physical address of vring,
> * or virtual address for virtio_user. */
>
> - /**
> - * Head of the free chain in the descriptor table. If
> - * there are no free descriptors, this will be set to
> - * VQ_RING_DESC_CHAIN_END.
> - */
> - uint16_t vq_desc_head_idx;
> - uint16_t vq_desc_tail_idx;
> - uint16_t vq_queue_index; /**< PCI queue index */
> - uint16_t offset; /**< relative offset to obtain addr in mbuf */
> uint16_t *notify_addr;
> struct rte_mbuf **sw_ring; /**< RX software ring. */
> struct vq_desc_extra vq_descx[0];
> --
> 2.29.2
More information about the dev
mailing list