• Xuan Zhuo's avatar
    virtio_ring: introduce virtqueue_resize() · c790e8e1
    Xuan Zhuo authored
    Introduce virtqueue_resize() to implement the resize of vring.
    Based on these, the driver can dynamically adjust the size of the vring.
    For example: ethtool -G.
    
    virtqueue_resize() implements resize based on the vq reset function. In
    case of failure to allocate a new vring, it will give up resize and use
    the original vring.
    
    During this process, if the re-enable reset vq fails, the vq can no
    longer be used. Although the probability of this situation is not high.
    
    The parameter recycle is used to recycle the buffer that is no longer
    used.
    Signed-off-by: default avatarXuan Zhuo <xuanzhuo@linux.alibaba.com>
    Acked-by: default avatarJason Wang <jasowang@redhat.com>
    Message-Id: <20220801063902.129329-25-xuanzhuo@linux.alibaba.com>
    Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
    c790e8e1
virtio_ring.c 72.2 KB