[libvirt] [PATCH 0/5] Introduce the support of Intel RDT-MBM
Daniel P. Berrangé
berrange at redhat.com
Fri Dec 13 15:57:06 UTC 2019
On Thu, Nov 14, 2019 at 01:08:18AM +0800, Wang Huaqiang wrote:
> RDT is the short for Intel Resource Director Technology, consists
> of four sub-technologies until now:
>
> -. CAT for cache allocation
> -. CMT for cache usage monitoring
> -. MBA for memory bandwidth allocation
> -. MBM for memory bandwidth usage monitoring
>
> The Linux kernel interface is 'resctrl' file system, and we have
> already implemented the support of CAT, CMT and MBA, to accomplish
> the tasks such as allocating a part of shared CPU last level cache
> to particular domain vcpu or a list of vcpus and monitoring the
> usage of cache, or the task of allocating a mount of memory
> bandwidth to specify domain vcpu(s).
>
> This series is to introduce the support of MBM.
>
> Basically the interfaces are:
>
> ** Identify host capability **
>
> Similar to identify the host capability of CMT, it could be gotten
> through the result of 'virsh capabilities', if following elements
> are found, then MBM is supported:
>
> <memory_bandwidth>
> <monitor maxMonitors='176'>
> <feature name='mbm_total_bytes'/>
> <feature name='mbm_local_bytes'/>
> </monitor>
> </memory_bandwidth>
>
> 'mbm_total_bytes' means supporting to report the memory bandwidth
> used by the vcpu(s) of specific monitor on all CPU sockets.
>
> 'mbm_local_bytes' means supporting to report the memory bandwidth
> used by vcpu(s) that is passing through local CPU socket.
>
> ** Create monitor group**
>
> The monitor group for specific domain vcpus, for example vcpu 0-4,
> is defined in domain configuration file, in such kind of way:
>
> <cputune>
> <memorytune vcpus='0-4'>
> <monitor vcpus='0-4'/>
> </memorytune>
> </cputune>
>
> ** Report memory usage **
>
> Introduced an option '--memory' against 'virsh domstats' command
> to show the memory bandwidth usage in such way:
> (also very similar to the format of CMT result.)
>
> # virsh domstats --memory
>
> Domain: 'libvirt-vm'
> memory.bandwidth.monitor.count=4
> memory.bandwidth.monitor.0.name=vcpus_0-4
> memory.bandwidth.monitor.0.vcpus=0-4
> memory.bandwidth.monitor.0.node.count=2
> memory.bandwidth.monitor.0.node.0.id=0
> memory.bandwidth.monitor.0.node.0.bytes.total=14201651200
> memory.bandwidth.monitor.0.node.0.bytes.local=7369809920
> memory.bandwidth.monitor.0.node.1.id=1
> memory.bandwidth.monitor.0.node.1.bytes.total=188897640448
> memory.bandwidth.monitor.0.node.1.bytes.local=170044047360
>
>
> Huaqiang (5):
> util, resctrl: using 64bit interface instead of 32bit for counters
> conf: showing cache/memoryBW monitor features in capabilities
> cachetune schema: a looser check for the order of <cache> and
> <monitor> element
> conf: Parse dommon configure file for memorytune monitors
> virsh: show memoryBW info in 'virsh domstats' command
I've pushed patches 2, 3, & 4, so you only need update 1 & 5 and resend
those two.
Regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
More information about the libvir-list
mailing list