Messages in this thread | | | Date | Tue, 10 Nov 2009 18:07:56 -0600 | From | Anthony Liguori <> | Subject | Re: virtio: Add memory statistics reporting to the balloon driver |
| |
Rusty Russell wrote: > On Wed, 11 Nov 2009 08:22:42 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. Second, polling is >>> ugly. >>> >>> A stats vq might solve this more cleanly? >>> >>> >> This turns out to not work so nicely. You really need bidirectional >> communication. You need to request that stats be collected and then you >> need to tell the hypervisor about the stats that were collected. You >> don't need any real correlation between requests and stat reports either. >> > > You register an outbuf at initialization time. The host hands it back when > it wants you to refill it with stats. >
That's strangely backwards. Guest send a stat buffer that's filled out, host acks it when it wants another. That doesn't seem bizarre to you?
>> This really models how target/actual work and I think it suggests that >> we want to reuse that mechanism for the stats too. >> > > Sure, I want to. You want to. It's simple. > > But the universe is remarkably indifferent to what we want. Is it actually > sufficient or are we going to regret our laziness? >
It's not laziness, it's consistency. How is actual different than free memory or any other stat?
> Cheers, > Rusty. >
-- Regards,
Anthony Liguori
| |