On Wed, Sep 07, 2011 at 05:00:35PM +0800, Zhi Yong Wu wrote: >From: Zhi Yong Wu <wuzhy@xxxxxxxxxxxxxxxxxx> >To: libvir-list@xxxxxxxxxx >Cc: stefanha@xxxxxxxxxxxxxxxxxx, agl@xxxxxxxxxx, zwu.kernel@xxxxxxxxx, Zhi > Yong Wu <wuzhy@xxxxxxxxxxxxxxxxxx> >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@xxxxxxxxxxxxxxxxxx> >X-Mailer: git-send-email 1.7.6 >X-Xagent-From: wuzhy@xxxxxxxxxxxxxxxxxx >X-Xagent-To: wuzhy@xxxxxxxxxxxxxxxxxx >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@xxxxxxxxxxxxxxxxxx> >--- > 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 > -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list