On 10/22/18 4:01 AM, Wang Huaqiang wrote: > Cache Monitoring Technology (aka CMT) provides the capability > to report cache utilization information of system task. > > This patch introduces the concept of resctrl monitor through > data structure virResctrlMonitor. > > Signed-off-by: Wang Huaqiang <huaqiang.wang@xxxxxxxxx> > --- > src/libvirt_private.syms | 1 + > src/util/virresctrl.c | 79 ++++++++++++++++++++++++++++++++++++++++++++---- > src/util/virresctrl.h | 9 ++++++ > 3 files changed, 83 insertions(+), 6 deletions(-) > > diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms > index 335210c..d2573c5 100644 > --- a/src/libvirt_private.syms > +++ b/src/libvirt_private.syms [...] > @@ -275,6 +281,18 @@ virResctrlInfoMonFree(virResctrlInfoMonPtr mon) > * a sparse array to represent whether a memory bandwidth allocation happens > * on corresponding node. The available memory controller number is collected > * in 'virResctrlInfo'. > + * > + * =====Cache monitoring technology (CMT)===== > + * > + * Cache monitoring technology is used to perceive how many cache the process > + * is using actually. virResctrlMonitor represents the resource control > + * monitoring group, it is supported to monitor resource utilization > + * information on granularity of vcpu. > + * > + * From hardware perspective, cache monitoring technology (CMT), memory >From a > + * bandwidth technology (MBM), as well as the CAT and MBA, are all orthogonal > + * features. The monitor will be created under the scope of default resctl *resctrl > + * group if no specific CAT or MBA entries are provided for the guest." > */ > struct _virResctrlAllocPerType { > /* There could be bool saying whether this is set or not, but since everything > @@ -320,6 +338,29 @@ struct _virResctrlAlloc { > char *path; > }; > > +/* > + * virResctrlMonitor is the data structure for resctrl monitor. Resctrl > + * monitor represents a resctrl monitoring group, which can be used to > + * monitor the resource utilization information for either cache or > + * memory bandwidth. > + */ > +struct _virResctrlMonitor { > + virObject parent; > + > + /* In resctrl, each monitor is associated with one specific allocation, Each ResctrlMonitor is associated... > + * either the allocation under / sys / fs / resctrl or allocation of the either the root directory allocation /sys/fs/resctrl or a specific allocation defined under the root directory. With these simple changes that I can make for you, Reviewed-by: John Ferlan <jferlan@xxxxxxxxxx> John [...] -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list