From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:34358) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QyzGy-00052d-Mv for qemu-devel@nongnu.org; Thu, 01 Sep 2011 00:53:06 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QyzGw-0005mO-Gu for qemu-devel@nongnu.org; Thu, 01 Sep 2011 00:53:04 -0400 Received: from e28smtp02.in.ibm.com ([122.248.162.2]:49921) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QyzGv-0005jn-LR for qemu-devel@nongnu.org; Thu, 01 Sep 2011 00:53:02 -0400 Received: from d28relay03.in.ibm.com (d28relay03.in.ibm.com [9.184.220.60]) by e28smtp02.in.ibm.com (8.14.4/8.13.1) with ESMTP id p814qsta021346 for ; Thu, 1 Sep 2011 10:22:54 +0530 Received: from d28av02.in.ibm.com (d28av02.in.ibm.com [9.184.220.64]) by d28relay03.in.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id p814qqMg3473548 for ; Thu, 1 Sep 2011 10:22:53 +0530 Received: from d28av02.in.ibm.com (loopback [127.0.0.1]) by d28av02.in.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id p814qqAC002741 for ; Thu, 1 Sep 2011 14:52:52 +1000 Date: Thu, 1 Sep 2011 12:51:59 +0800 From: Zhi Yong Wu Message-ID: <20110901045159.GA17963@f15.cn.ibm.com> References: <20110830134636.GB29130@aglitke.rchland.ibm.com> <20110901035517.GD16985@f15.cn.ibm.com> <4E5F0840.5010203@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <4E5F0840.5010203@redhat.com> Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [RFC] block I/O throttling: how to enable in libvirt List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Osier Yang Cc: Stefan Hajnoczi , Adam Litke , QEMU Developers , guijianfeng@cn.fujitsu.com, hutao@cn.fujitsu.com On Thu, Sep 01, 2011 at 12:21:20PM +0800, Osier Yang wrote: >Message-ID: <4E5F0840.5010203@redhat.com> >Date: Thu, 01 Sep 2011 12:21:20 +0800 >From: Osier Yang >User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:6.0) Gecko/20110816 > Thunderbird/6.0 >MIME-Version: 1.0 >To: Zhi Yong Wu >References: > > <20110830134636.GB29130@aglitke.rchland.ibm.com> > > <20110901035517.GD16985@f15.cn.ibm.com> >In-Reply-To: <20110901035517.GD16985@f15.cn.ibm.com> >Content-Type: text/plain; charset=3DUTF-8; format=3Dflowed >X-Scanned-By: MIMEDefang 2.67 on 10.5.11.12 >Content-Transfer-Encoding: quoted-printable >X-MIME-Autoconverted: from 8bit to quoted-printable by mx1.redhat.com id > p814MA7o029817 >X-detected-operating-system: by eggs.gnu.org: Genre and OS details not > recognized. >X-Received-From: 209.132.183.28 >Cc: Stefan Hajnoczi , Adam Litke , Q= EMU > Developers , guijianfeng@cn.fujitsu.com, > hutao@cn.fujitsu.com >Subject: Re: [Qemu-devel] [RFC] block I/O throttling: how to enable in > libvirt >X-BeenThere: qemu-devel@nongnu.org >X-Mailman-Version: 2.1.14 >Precedence: list >List-Id: >List-Unsubscribe: , > >List-Archive: >List-Post: >List-Help: >List-Subscribe: , > >X-Mailman-Copy: yes >Errors-To: qemu-devel-bounces+wuzhy=3Dlinux.vnet.ibm.com@nongnu.org >Sender: qemu-devel-bounces+wuzhy=3Dlinux.vnet.ibm.com@nongnu.org >X-Brightmail-Tracker: AAAAAA=3D=3D >X-Xagent-From: jyang@redhat.com >X-Xagent-To: wuzhy@linux.vnet.ibm.com >X-Xagent-Gateway: vmsdvma.vnet.ibm.com (XAGENTU6 at VMSDVMA) > >=E4=BA=8E 2011=E5=B9=B409=E6=9C=8801=E6=97=A5 11:55, Zhi Yong Wu =E5=86=99= =E9=81=93: >>On Wed, Aug 31, 2011 at 08:18:19AM +0100, Stefan Hajnoczi wrote: >>>Subject: Re: The design choice for how to enable block I/O throttling >>>function in libvirt >>>From: Stefan Hajnoczi >>>To: Adam Litke >>>Cc: libvir-list@redhat.com, "Daniel P. Berrange",= Zhi >>>Yong Wu, Zhi Yong Wu >>>Content-Type: text/plain; charset=3DISO-8859-1 >>>Content-Transfer-Encoding: quoted-printable >>>X-Brightmail-Tracker: AAAAAA=3D=3D >>>X-Xagent-From: stefanha@gmail.com >>>X-Xagent-To: wuzhy@linux.vnet.ibm.com >>>X-Xagent-Gateway: bldgate.vnet.ibm.com (XAGENTU7 at BLDGATE) >>> >>>On Tue, Aug 30, 2011 at 2:46 PM, Adam Litke wrote: >>>>On Tue, Aug 30, 2011 at 09:53:33AM +0100, Stefan Hajnoczi wrote: >>>>>On Tue, Aug 30, 2011 at 3:55 AM, Zhi Yong Wu = wrote: >>>>>>I am trying to enable block I/O throttling function in libvirt. But >>>>>>currently i met some design questions, and don't make sure if we >>>>>>should extend blkiotune to support block I/O throttling or introduc= e >>>>>>one new libvirt command "blkiothrottle" to cover it or not. If you >>>>>>have some better idea, pls don't hesitate to drop your comments. >>>>>A little bit of context: this discussion is about adding libvirt >>>>>support for QEMU disk I/O throttling. >>>>Thanks for the additional context Stefan. >>>> >>>>>Today libvirt supports the cgroups blkio-controller, which handles >>>>>proportional shares and throughput/iops limits on host block devices. >>>>>blkio-controller does not support network file systems (NFS) or othe= r >>>>>QEMU remote block drivers (curl, Ceph/rbd, sheepdog) since they are >>>>>not host block devices. QEMU I/O throttling works with all types of >>>>>-drive and therefore complements blkio-controller. >>>>The first question that pops into my mind is: Should a user need to u= nderstand >>>>when to use the cgroups blkio-controller vs. the QEMU I/O throttling = method? In >>>>my opinion, it would be nice if libvirt had a single interface for bl= ock I/O >>>>throttling and libvirt would decide which mechanism to use based on t= he type of >>>>device and the specific limits that need to be set. >>>Yes, I agree it would be simplest to pick the right mechanism, >>>depending on the type of throttling the user wants. More below. >>> >>>>>I/O throttling can be applied independently to each -drive attached = to >>>>>a guest and supports throughput/iops limits. For more information o= n >>>>>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 possib= le to apply >>>>either method from the same API in a transparent manner. Am I correc= t or are we >>>>suggesting that the Qemu throttling approach should always be used fo= r 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. >> >>Danial and other maintainers, >> >>If you are available, can you make some comments for us?:) > >Seems you posted to wrong list? This should be discussed in libvir-list >instead. No, libvirt-list is where i want to post. > >And if you meant to post to libvir-list, then s/Danial/Daniel/ :-) Sorry, thanks for your correcting, Jintao. We have not met for several ye= ars. > >> >>Regards, >> >>Zhi Yong Wu >>>Stefan > >