Re: [Qemu-devel] Re: virtio: Add memory statistics reporting to the balloon driver

From: Rusty Russell
Date: Tue Nov 10 2009 - 18:59:24 EST


On Wed, 11 Nov 2009 01:06:14 am Anthony Liguori wrote:
> Rusty Russell wrote:
> > On Tue, 10 Nov 2009 03:02:06 am Adam Litke wrote:
> >
> >> A simpler approach is to collect memory statistics in the virtio
> >> balloon driver and communicate them to the host via the device config space.
> >>
> >
> > There are two issues I see with this. First, there's an atomicity problem
> > since you can't tell when the stats are consistent.
>
> Actually, config writes always require notification from the guest to
> the host. This means the host knows when they config space is changed
> so atomicity isn't a problem.

I think you missed my point: the stats are inter-related, so they should be
served together.

> In fact, if it were a problem, then the balloon driver would be
> fundamentally broken because target and actual are stored in the config
> space.

No, one is written by the host, the other the guest. Still works.

> If you recall, we had this discussion originally wrt the balloon driver :-)

And I never did get around to the lguest implementation, which would have
seen if this really is an issue.

> > Second, polling is ugly.
>
> As opposed to?

As opposed to giving the stats whenever asked by the host.

> > A stats vq might solve this more cleanly?
> >
>
> actual and target are both really just stats. Had we implemented those
> with a vq, I'd be inclined to agree with you but since they're
> implemented in the config space, it seems natural to extend the config
> space with other stats.

It does, *if* we don't need accuracy. Otherwise, it seems like we need
something else.

Cheers,
Rusty.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/