Re: [PATCH v11 13/40] virtio_ring: split: reserve vring_align, may_reduce_num

Jason Wang
2022-07-01T09:03:43Z

在 2022/6/29 14:56, Xuan Zhuo 写道:
> In vring_create_virtqueue_split() save vring_align, may_reduce_num to
> structure vring_virtqueue_split. Used to create a new vring when
> implementing resize .
>
> Signed-off-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com>

Acked-by: Jason Wang <jasowang@redhat.com>

> ---
> drivers/virtio/virtio_ring.c | 9 +++++++++
> 1 file changed, 9 insertions(+)
>
> diff --git a/drivers/virtio/virtio_ring.c b/drivers/virtio/virtio_ring.c
> index 4c8972da5423..9c83c5e6d5a9 100644
> --- a/drivers/virtio/virtio_ring.c
> +++ b/drivers/virtio/virtio_ring.c
> @@ -105,6 +105,13 @@ struct vring_virtqueue_split {
> /* DMA address and size information */
> dma_addr_t queue_dma_addr;
> size_t queue_size_in_bytes;
> +
> + /*
> + * The parameters for creating vrings are reserved for creating new
> + * vring.
> + */
> + u32 vring_align;
> + bool may_reduce_num;
> };
>
> struct vring_virtqueue_packed {
> @@ -1098,6 +1105,8 @@ static struct virtqueue *vring_create_virtqueue_split(
> return NULL;
> }
>
> + to_vvq(vq)->split.vring_align = vring_align;
> + to_vvq(vq)->split.may_reduce_num = may_reduce_num;
> to_vvq(vq)->split.queue_dma_addr = vring.queue_dma_addr;
> to_vvq(vq)->split.queue_size_in_bytes = vring.queue_size_in_bytes;
> to_vvq(vq)->we_own_ring = true;