[libvirt] sorry, pls ignore, it is not correct.Re: [PATCH v1] domain_conf: add the support for disk I/O throttle setting

Zhi Yong Wu wuzhy at linux.vnet.ibm.com
Wed Sep 7 09:19:22 UTC 2011


On Wed, Sep 07, 2011 at 05:00:35PM +0800, Zhi Yong Wu wrote:
>From: Zhi Yong Wu <wuzhy at linux.vnet.ibm.com>
>To: libvir-list at redhat.com
>Cc: stefanha at linux.vnet.ibm.com, agl at us.ibm.com, zwu.kernel at gmail.com, Zhi
> Yong Wu <wuzhy at linux.vnet.ibm.com>
>Subject: [PATCH v1] domain_conf: add the support for disk I/O throttle
> setting
>Date: Wed,  7 Sep 2011 17:00:35 +0800
>Message-Id: <1315386035-23319-1-git-send-email-wuzhy at linux.vnet.ibm.com>
>X-Mailer: git-send-email 1.7.6
>X-Xagent-From: wuzhy at linux.vnet.ibm.com
>X-Xagent-To: wuzhy at linux.vnet.ibm.com
>X-Xagent-Gateway: vmsdvm4.vnet.ibm.com (XAGENTU3 at VMSDVM4)
>
>The first patch is only used to see if it is suitable for exteeding blkiotune to implement disk I/O throttling.
>
>As you have known, when blkiotune is issued without options, it will display current tuning parameters; If we exceed it, without options, what should it display? both info will? or should one new option be added to separately display them?
>
>Signed-off-by: Zhi Yong Wu <wuzhy at linux.vnet.ibm.com>
>---
> src/conf/domain_conf.c |   18 ++++++++++++++++++
> src/conf/domain_conf.h |   11 +++++++++++
> 2 files changed, 29 insertions(+), 0 deletions(-)
>
>diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
>index cce9955..7dd350a 100644
>--- a/src/conf/domain_conf.c
>+++ b/src/conf/domain_conf.c
>@@ -9065,6 +9065,24 @@ virDomainDiskDefFormat(virBufferPtr buf,
>     virBufferAsprintf(buf, "      <target dev='%s' bus='%s'/>\n",
>                       def->dst, bus);
>
>+    /*disk I/O throttling*/
>+    if (def->blkio.blkiothrottle) {
>+        virBufferAsprintf(&buf, "  <blkiothrottle>\n");
>+        virBufferAsprintf(&buf, "    <bps>%llu</bps>\n",
>+                          def->blkiothrottle.bps);
>+        virBufferAsprintf(&buf, "    <bps_rd>%llu</bps_rd>\n",
>+                          def->blkiothrottle.bps_rd);
>+        virBufferAsprintf(&buf, "    <bps_wr>%llu</bps_wr>\n",
>+                          def->blkiothrottle.bps_wr);
>+        virBufferAsprintf(&buf, "    <iops>%llu</iops>\n",
>+                          def->blkiothrottle.iops);
>+        virBufferAsprintf(&buf, "    <iops_rd>%llu</iops_rd>\n",
>+                          def->blkiothrottle.iops_rd);
>+        virBufferAsprintf(&buf, "    <iops_wr>%llu</iops_wr>\n",
>+                          def->blkiothrottle.iops_wr);
>+        virBufferAsprintf(&buf, "  </blkiothrottle>\n");
>+    }
>+
>     if (def->bootIndex)
>         virBufferAsprintf(buf, "      <boot order='%d'/>\n", def->bootIndex);
>     if (def->readonly)
>diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h
>index e218a30..5902377 100644
>--- a/src/conf/domain_conf.h
>+++ b/src/conf/domain_conf.h
>@@ -258,6 +258,17 @@ struct _virDomainDiskDef {
>     virDomainDiskHostDefPtr hosts;
>     char *driverName;
>     char *driverType;
>+
>+    /*disk I/O throttling*/
>+    struct {
>+        unsigned long long bps;
>+        unsigned long long bps_rd;
>+        unsigned long long bps_wr;
>+        unsigned long long iops;
>+        unsigned long long iops_rd;
>+        unsigned long long iops_wr;
>+    } blkiothrottle;
>+
>     char *serial;
>     int cachemode;
>     int error_policy;
>-- 
>1.7.6
>




More information about the libvir-list mailing list