All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Daniel P. Berrange" <berrange@redhat.com>
To: Stefan Hajnoczi <stefanha@gmail.com>
Cc: libvir-list@redhat.com, guijianfeng@cn.fujitsu.com,
	agl@us.ibm.com, qemu-devel@nongnu.org, zwu.kernel@gmail.com,
	Zhi Yong Wu <wuzhy@linux.vnet.ibm.com>,
	hutao@cn.fujitsu.com
Subject: Re: [Qemu-devel] [RFC] block I/O throttling: how to enable in libvirt
Date: Thu, 1 Sep 2011 09:49:34 +0100	[thread overview]
Message-ID: <20110901084934.GA14462@redhat.com> (raw)
In-Reply-To: <20110901081149.GB14245@stefanha-thinkpad.localdomain>

On Thu, Sep 01, 2011 at 09:11:49AM +0100, Stefan Hajnoczi wrote:
> On Thu, Sep 01, 2011 at 01:05:31PM +0800, Zhi Yong Wu wrote:
> > On Wed, Aug 31, 2011 at 08:18:19AM +0100, Stefan Hajnoczi wrote:
> > >On Tue, Aug 30, 2011 at 2:46 PM, Adam Litke <agl@us.ibm.com> wrote:
> > >> On Tue, Aug 30, 2011 at 09:53:33AM +0100, Stefan Hajnoczi wrote:
> > >>> I/O throttling can be applied independently to each -drive attached to
> > >>> a guest and supports throughput/iops limits.  For more information on
> > >>> this QEMU feature and a comparison with blkio-controller, see Ryan
> > >>> Harper's KVM Forum 2011 presentation:
> > >>
> > >>> http://www.linux-kvm.org/wiki/images/7/72/2011-forum-keep-a-limit-on-it-io-throttling-in-qemu.pdf
> > >>
> > >> From the presentation, it seems that both the cgroups method the the qemu method
> > >> offer comparable control (assuming a block device) so it might possible to apply
> > >> either method from the same API in a transparent manner.  Am I correct or are we
> > >> suggesting that the Qemu throttling approach should always be used for Qemu
> > >> domains?
> > >
> > >QEMU I/O throttling does not provide a proportional share mechanism.
> > >So you cannot assign weights to VMs and let them receive a fraction of
> > >the available disk time.  That is only supported by cgroups
> > >blkio-controller because it requires a global view which QEMU does not
> > >have.
> > >
> > >So I think the two are complementary:
> > >
> > >If proportional share should be used on a host block device, use
> > >cgroups blkio-controller.
> > >Otherwise use QEMU I/O throttling.
> > Stefan,
> > 
> > Do you agree with introducing one new libvirt command blkiothrottle now?
> > If so, i will work on the code draft to make it work.
> 
> No, I think that the blkiotune command should be extended to support
> QEMU I/O throttling.  This is not new functionality, we already have
> cgroups blkio-controller support today.  Therefore I think it makes
> sense to keep a unified interface instead of adding a new command.

Agreed, the virDomainGetBlkioParameters/virDomainSetBlkioParameters
APIs, and blkio virsh command are intended to be a generic interface
for setting any block related tuning parameters, regardless of what
the underling implementation is. So any use of QEMU I/O throttling
features should be added to those APIs/commands.


Daniel
-- 
|: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org              -o-             http://virt-manager.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org       -o-       http://live.gnome.org/gtk-vnc :|

  reply	other threads:[~2011-09-01  8:50 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-09-01  5:05 [Qemu-devel] [RFC] block I/O throttling: how to enable in libvirt Zhi Yong Wu
2011-09-01  8:11 ` Stefan Hajnoczi
2011-09-01  8:49   ` Daniel P. Berrange [this message]
2011-09-02  1:16   ` Gui Jianfeng
  -- strict thread matches above, loose matches on Subject: below --
2011-08-30  2:55 [Qemu-devel] The design choice for how to enable block I/O throttling function " Zhi Yong Wu
     [not found] ` <CAJSP0QW1CPCokX=F5z7y==vn1S4wH0VtOaQ7oj4kC7f7uQM4MQ@mail.gmail.com>
     [not found]   ` <20110830134636.GB29130@aglitke.rchland.ibm.com>
     [not found]     ` <CAJSP0QUHm=y8XJC_KXRg7ufFZt3K_XDDfQb--sxjC+c0GjO8qg@mail.gmail.com>
2011-09-01  3:55       ` [Qemu-devel] [RFC] block I/O throttling: how to enable " Zhi Yong Wu
2011-09-01  4:21         ` Osier Yang
2011-09-01  4:51           ` Zhi Yong Wu

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=20110901084934.GA14462@redhat.com \
    --to=berrange@redhat.com \
    --cc=agl@us.ibm.com \
    --cc=guijianfeng@cn.fujitsu.com \
    --cc=hutao@cn.fujitsu.com \
    --cc=libvir-list@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=stefanha@gmail.com \
    --cc=wuzhy@linux.vnet.ibm.com \
    --cc=zwu.kernel@gmail.com \
    /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.