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 :| -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list