Re: [PATCH v23 2/2] virtio-balloon: VIRTIO_BALLOON_F_FREE_PAGE_VQ

From: Michael S. Tsirkin
Date: Wed Jan 24 2018 - 12:33:18 EST


On Wed, Jan 24, 2018 at 01:47:47PM +0800, Wei Wang wrote:
> On 01/24/2018 01:01 PM, Michael S. Tsirkin wrote:
> > On Wed, Jan 24, 2018 at 10:50:27AM +0800, Wei Wang wrote:
> > This will not DTRT in all cases. It's quite possible
> > that host does not need the kick when ring is half full but
> > does need it later when ring is full.
> > You can kick at ring half full as optimization but you absolutely
> > still must kick on ring full. Something like:
> >
> > if (vq->num_free == virtqueue_get_vring_size(vq) / 2 ||
> > vq->num_free <= 2)
>
> Right. Would "if (vq->num_free < virtqueue_get_vring_size(vq) / 2" be
> better?
>
>
> Best,
> Wei

It gives more kicks ... this reminds me, you need to validate
that vring size is at least 2, otherwise fail probe.

--
MST