[libvirt] [PATCHv7 02/18] util: Introduce resctrl monitor for CMT

John Ferlan jferlan at redhat.com
Mon Nov 5 15:02:02 UTC 2018



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 at intel.com>
> ---
>  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 at redhat.com>

John

[...]




More information about the libvir-list mailing list