All of lore.kernel.org
 help / color / mirror / Atom feed
From: Rusty Russell <rusty@rustcorp.com.au>
To: Anthony Liguori <anthony@codemonkey.ws>
Cc: Adam Litke <agl@us.ibm.com>,
	linux-kernel@vger.kernel.org,
	Anthony Liguori <aliguori@us.ibm.com>,
	virtualization@lists.linux-foundation.org, qemu-devel@nongnu.org,
	Avi Kivity <avi@redhat.com>
Subject: Re: [Qemu-devel] Re: virtio: Add memory statistics reporting to the balloon driver
Date: Wed, 11 Nov 2009 10:29:13 +1030	[thread overview]
Message-ID: <200911111029.13791.rusty@rustcorp.com.au> (raw)
In-Reply-To: <4AF97A5E.1070801@codemonkey.ws>

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.

WARNING: multiple messages have this Message-ID (diff)
From: Rusty Russell <rusty@rustcorp.com.au>
To: Anthony Liguori <anthony@codemonkey.ws>
Cc: Anthony Liguori <aliguori@us.ibm.com>,
	linux-kernel@vger.kernel.org, qemu-devel@nongnu.org,
	virtualization@lists.linux-foundation.org,
	Avi Kivity <avi@redhat.com>, Adam Litke <agl@us.ibm.com>
Subject: Re: [Qemu-devel] Re: virtio: Add memory statistics reporting to the balloon driver
Date: Wed, 11 Nov 2009 10:29:13 +1030	[thread overview]
Message-ID: <200911111029.13791.rusty@rustcorp.com.au> (raw)
In-Reply-To: <4AF97A5E.1070801@codemonkey.ws>

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.

  parent reply	other threads:[~2009-11-10 23:59 UTC|newest]

Thread overview: 58+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-11-09 16:07 [Qemu-devel] [RFC] virtio: Report new guest memory statistics pertinent to memory ballooning (V2) Adam Litke
2009-11-09 16:32 ` virtio: Add memory statistics reporting to the balloon driver Adam Litke
2009-11-09 16:32   ` [Qemu-devel] " Adam Litke
2009-11-10  2:42   ` Rusty Russell
2009-11-10  2:42   ` [Qemu-devel] " Rusty Russell
2009-11-10  2:42   ` Rusty Russell
2009-11-10  2:42     ` [Qemu-devel] " Rusty Russell
2009-11-10 14:36     ` Anthony Liguori
2009-11-10 14:36     ` Anthony Liguori
2009-11-10 14:36       ` Anthony Liguori
2009-11-10 14:43       ` Avi Kivity
2009-11-10 14:43         ` Avi Kivity
2009-11-10 14:58         ` Anthony Liguori
2009-11-10 14:58           ` Anthony Liguori
2009-11-11  9:24           ` Jamie Lokier
2009-11-11  9:24             ` Jamie Lokier
2009-11-11 10:12             ` Daniel P. Berrange
2009-11-11 10:12               ` Daniel P. Berrange
2009-11-11 13:26               ` Adam Litke
2009-11-11 13:26               ` Adam Litke
2009-11-11 13:26                 ` Adam Litke
2009-11-11 15:00                 ` Avi Kivity
2009-11-11 15:00                 ` Avi Kivity
2009-11-11 15:00                   ` Avi Kivity
2009-11-11 10:12             ` Daniel P. Berrange
2009-11-11  9:24           ` Jamie Lokier
2009-11-10 14:58         ` Anthony Liguori
2009-11-10 14:43       ` Avi Kivity
2009-11-10 23:59       ` Rusty Russell
2009-11-10 23:59       ` Rusty Russell [this message]
2009-11-10 23:59         ` Rusty Russell
2009-11-10 21:52     ` Anthony Liguori
2009-11-10 21:52       ` [Qemu-devel] " Anthony Liguori
2009-11-11  0:02       ` Rusty Russell
2009-11-11  0:02         ` [Qemu-devel] " Rusty Russell
2009-11-11  0:07         ` Anthony Liguori
2009-11-11  0:07         ` Anthony Liguori
2009-11-11  0:07           ` [Qemu-devel] " Anthony Liguori
2009-11-11  2:43           ` Rusty Russell
2009-11-11  2:43           ` Rusty Russell
2009-11-11  2:43             ` [Qemu-devel] " Rusty Russell
2009-11-11 15:08             ` Adam Litke
2009-11-11 15:08               ` [Qemu-devel] " Adam Litke
2009-11-12  2:29               ` Rusty Russell
2009-11-12  2:29               ` Rusty Russell
2009-11-12  2:29                 ` [Qemu-devel] " Rusty Russell
2009-11-11 15:08             ` Adam Litke
2009-11-11  0:02       ` Rusty Russell
2009-11-10 21:52     ` Anthony Liguori
2009-11-10  2:42   ` [Qemu-devel] " Rusty Russell
2009-11-09 16:32 ` Adam Litke
2009-11-09 19:00 ` [Qemu-devel] [RFC] virtio: Report new guest memory statistics pertinent to memory ballooning (V2) Jamie Lokier
2009-11-09 19:16   ` Adam Litke
2009-11-09 21:15   ` Anthony Liguori
2009-11-10 13:23     ` Jamie Lokier
2009-11-09 19:01 ` Jamie Lokier
2009-11-09 19:23   ` Adam Litke
  -- strict thread matches above, loose matches on Subject: below --
2009-11-05 22:50 [Qemu-devel] [RFC] virtio: Report new guest memory statistics pertinent to memory ballooning Adam Litke
2009-11-05 23:02 ` [Qemu-devel] virtio: Add memory statistics reporting to the balloon driver Adam Litke
2009-11-05 23:39   ` [Qemu-devel] " Anthony Liguori

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200911111029.13791.rusty@rustcorp.com.au \
    --to=rusty@rustcorp.com.au \
    --cc=agl@us.ibm.com \
    --cc=aliguori@us.ibm.com \
    --cc=anthony@codemonkey.ws \
    --cc=avi@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=qemu-devel@nongnu.org \
    --cc=virtualization@lists.linux-foundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.