On Mon, Sep 05, 2016 at 11:02:36AM +0300, Roman Kagan wrote: > On Sat, Sep 03, 2016 at 01:53:53AM +0300, Michael S. Tsirkin wrote: > > On Fri, Sep 02, 2016 at 10:21:58AM +0300, Roman Kagan wrote: > > > On Thu, Sep 01, 2016 at 10:26:54PM +0300, Michael S. Tsirkin wrote: > > > > I'm sorry - I don't like this patch. This means that > > > > virtio_balloon_receive_stats will be called and will poke > > > > at the ring even if the ring was never kicked. > > > > > > I'm not sure I understand what the problem is with that: > > > virtio_balloon_receive_stats just returns early if virtio_queue_empty(), > > > which is no more poking at the ring than is already done in virtio_load. > > > > Generally we should not look at ring until there was a kick. > > How else would you recover ->inuse? > > Roman.
We seem to do this: + vdev->vq[i].inuse = vdev->vq[i].last_avail_idx - + vdev->vq[i].used_idx; Is this wrong? -- MST