<div dir="ltr"><div>Just a reminder that libvirt binds need to be updated after patches introduced.</div><div>Refer to libvirt python and perl bindings:</div><div>commit b0a7747<br>Author: Pavel Hrdina <<a href="mailto:phrdina@redhat.com">phrdina@redhat.com</a>><br>Date: Fri Sep 20 11:14:35 2019 +0200<br><br> virDomainMemoryStats: include disk caches<br> <br> Introduced in libvirt 4.6.0 by commit <aee04655089>.<br> <br> Resolves: <a href="https://bugzilla.redhat.com/show_bug.cgi?id=1683516">https://bugzilla.redhat.com/show_bug.cgi?id=1683516</a><br> <br> Signed-off-by: Pavel Hrdina <<a href="mailto:phrdina@redhat.com">phrdina@redhat.com</a>><br> Reviewed-by: Daniel P. Berrangé <<a href="mailto:berrange@redhat.com">berrange@redhat.com</a>></div><div><br></div><div>commit e562e58<br>Author: Daniel P. Berrangé <<a href="mailto:berrange@redhat.com">berrange@redhat.com</a>><br>Date: Wed May 22 14:07:57 2019 +0100<br><br> Add new hugetlb memory stats constants<br> <br> Signed-off-by: Daniel P. Berrangé <<a href="mailto:berrange@redhat.com">berrange@redhat.com</a>><br></div><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Nov 13, 2019 at 6:34 PM Wang Huaqiang <<a href="mailto:huaqiang.wang@intel.com">huaqiang.wang@intel.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">RDT is the short for Intel Resource Director Technology, consists<br>
of four sub-technologies until now:<br>
<br>
-. CAT for cache allocation<br>
-. CMT for cache usage monitoring<br>
-. MBA for memory bandwidth allocation<br>
-. MBM for memory bandwidth usage monitoring<br>
<br>
The Linux kernel interface is 'resctrl' file system, and we have<br>
already implemented the support of CAT, CMT and MBA, to accomplish<br>
the tasks such as allocating a part of shared CPU last level cache<br>
to particular domain vcpu or a list of vcpus and monitoring the<br>
usage of cache, or the task of allocating a mount of memory<br>
bandwidth to specify domain vcpu(s).<br>
<br>
This series is to introduce the support of MBM.<br>
<br>
Basically the interfaces are:<br>
<br>
** Identify host capability **<br>
<br>
Similar to identify the host capability of CMT, it could be gotten<br>
through the result of 'virsh capabilities', if following elements<br>
are found, then MBM is supported:<br>
<br>
<memory_bandwidth><br>
<monitor maxMonitors='176'><br>
<feature name='mbm_total_bytes'/><br>
<feature name='mbm_local_bytes'/><br>
</monitor><br>
</memory_bandwidth><br>
<br>
'mbm_total_bytes' means supporting to report the memory bandwidth<br>
used by the vcpu(s) of specific monitor on all CPU sockets.<br>
<br>
'mbm_local_bytes' means supporting to report the memory bandwidth<br>
used by vcpu(s) that is passing through local CPU socket.<br>
<br>
** Create monitor group**<br>
<br>
The monitor group for specific domain vcpus, for example vcpu 0-4,<br>
is defined in domain configuration file, in such kind of way:<br>
<br>
<cputune><br>
<memorytune vcpus='0-4'><br>
<monitor vcpus='0-4'/><br>
</memorytune><br>
</cputune><br>
<br>
** Report memory usage **<br>
<br>
Introduced an option '--memory' against 'virsh domstats' command<br>
to show the memory bandwidth usage in such way:<br>
(also very similar to the format of CMT result.)<br>
<br>
# virsh domstats --memory<br>
<br>
Domain: 'libvirt-vm'<br>
memory.bandwidth.monitor.count=4<br>
<a href="http://memory.bandwidth.monitor.0.name" rel="noreferrer" target="_blank">memory.bandwidth.monitor.0.name</a>=vcpus_0-4<br>
memory.bandwidth.monitor.0.vcpus=0-4<br>
memory.bandwidth.monitor.0.node.count=2<br>
<a href="http://memory.bandwidth.monitor.0.node.0.id" rel="noreferrer" target="_blank">memory.bandwidth.monitor.0.node.0.id</a>=0<br>
memory.bandwidth.monitor.0.node.0.bytes.total=14201651200<br>
memory.bandwidth.monitor.0.node.0.bytes.local=7369809920<br>
<a href="http://memory.bandwidth.monitor.0.node.1.id" rel="noreferrer" target="_blank">memory.bandwidth.monitor.0.node.1.id</a>=1<br>
memory.bandwidth.monitor.0.node.1.bytes.total=188897640448<br>
memory.bandwidth.monitor.0.node.1.bytes.local=170044047360<br>
<br>
<br>
Huaqiang (5):<br>
util, resctrl: using 64bit interface instead of 32bit for counters<br>
conf: showing cache/memoryBW monitor features in capabilities<br>
cachetune schema: a looser check for the order of <cache> and<br>
<monitor> element<br>
conf: Parse dommon configure file for memorytune monitors<br>
virsh: show memoryBW info in 'virsh domstats' command<br>
<br>
docs/schemas/domaincommon.rng | 91 +++++++++---------<br>
include/libvirt/libvirt-domain.h | 1 +<br>
src/conf/capabilities.c | 4 +-<br>
src/conf/domain_conf.c | 44 +++++++--<br>
src/libvirt-domain.c | 21 +++++<br>
src/qemu/qemu_driver.c | 103 ++++++++++++++++++++-<br>
src/util/virfile.c | 40 ++++++++<br>
src/util/virfile.h | 2 +<br>
src/util/virresctrl.c | 6 +-<br>
src/util/virresctrl.h | 2 +-<br>
tests/genericxml2xmlindata/cachetune.xml | 1 +<br>
tests/genericxml2xmlindata/memorytune.xml | 5 +<br>
tests/genericxml2xmloutdata/cachetune.xml | 34 +++++++<br>
tests/genericxml2xmloutdata/memorytune.xml | 42 +++++++++<br>
tests/genericxml2xmltest.c | 4 +-<br>
tools/virsh-domain-monitor.c | 7 ++<br>
tools/virsh.pod | 23 ++++-<br>
17 files changed, 367 insertions(+), 63 deletions(-)<br>
create mode 100644 tests/genericxml2xmloutdata/cachetune.xml<br>
create mode 100644 tests/genericxml2xmloutdata/memorytune.xml<br>
<br>
-- <br>
2.23.0<br>
<br>
<br>
--<br>
libvir-list mailing list<br>
<a href="mailto:libvir-list@redhat.com" target="_blank">libvir-list@redhat.com</a><br>
<a href="https://www.redhat.com/mailman/listinfo/libvir-list" rel="noreferrer" target="_blank">https://www.redhat.com/mailman/listinfo/libvir-list</a><br>
<br>
</blockquote></div><br clear="all"><br>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr">Best regards,</div><div dir="ltr">-----------------------------------<br></div><div dir="ltr">Han Han<br>Quality Engineer<br>Redhat.<br><br>Email: <a href="mailto:hhan@redhat.com" target="_blank">hhan@redhat.com</a><br>Phone: +861065339333<br></div></div></div></div></div></div>