[libvirt] [PATCHv3 4/4] conf: Introduce RDT monitor host capability

John Ferlan jferlan at redhat.com
Thu Sep 20 16:18:58 UTC 2018



On 09/20/2018 06:10 AM, Wang Huaqiang wrote:
> This patch is introducing cache monitor(CMT) to cache and
> memory bandwidth monitor(MBM) for monitoring CPU memory
> bandwidth.
> The host capability of the two monitors is also introduced
> in this patch.
> 
> For CMT, the host capability is shown like:
>   <host>
>   ...
>     <cache>
>       <bank id='0' level='3' type='both' size='15' unit='MiB' cpus='0-5'>
>         <control granularity='768' min='1536' unit='KiB' type='both' maxAllocs='4'/>
>       </bank>
>       <monitor level='3' 'reuseThreshold'='270336' maxMonitors='176'>
>         <feature name='llc_occupancy'/>
>       </monitor>
>     </cache>
>     ...
>   </host>
> 
> For MBM, the capability is shown like this:
> 
>   <host>
>     ...
>     <memory_bandwidth>
>       <node id='1' cpus='6-11'>
>         <control granularity='10' min ='10' maxAllocs='4'/>
>       </node>
>       <monitor maxMonitors='176'>
>         <feature name='mbm_total_bytes'/>
>         <feature name='mbm_local_bytes'/>
>       </monitor>
>     </memory_bandwidth>
>     ...
>   </host>
> 
> Signed-off-by: Wang Huaqiang <huaqiang.wang at intel.com>
> ---
>  docs/schemas/capability.rng                        |  37 ++++++-
>  src/conf/capabilities.c                            |  64 ++++++++++++
>  src/conf/capabilities.h                            |   4 +
>  src/libvirt_private.syms                           |   2 +
>  src/util/virresctrl.c                              | 110 +++++++++++++++++++++
>  src/util/virresctrl.h                              |  40 ++++++++
>  .../resctrl/info/L3_MON/max_threshold_occupancy    |   1 +
>  .../resctrl/info/L3_MON/mon_features               |   1 +
>  .../resctrl/info/L3_MON/num_rmids                  |   1 +
>  .../linux-resctrl-cmt/resctrl/manualres/cpus       |   1 +
>  .../linux-resctrl-cmt/resctrl/manualres/schemata   |   1 +
>  .../linux-resctrl-cmt/resctrl/manualres/tasks      |   0
>  .../linux-resctrl-cmt/resctrl/schemata             |   1 +
>  tests/vircaps2xmldata/linux-resctrl-cmt/system     |   1 +
>  .../resctrl/info/L3/cbm_mask                       |   1 +
>  .../resctrl/info/L3/min_cbm_bits                   |   1 +
>  .../resctrl/info/L3/num_closids                    |   1 +
>  .../resctrl/info/L3_MON/max_threshold_occupancy    |   1 +
>  .../resctrl/info/L3_MON/mon_features               |  10 ++
>  .../resctrl/info/L3_MON/num_rmids                  |   1 +
>  .../resctrl/info/MB/bandwidth_gran                 |   1 +
>  .../resctrl/info/MB/min_bandwidth                  |   1 +
>  .../resctrl/info/MB/num_closids                    |   1 +
>  .../resctrl/manualres/cpus                         |   1 +
>  .../resctrl/manualres/schemata                     |   1 +
>  .../resctrl/manualres/tasks                        |   0
>  .../linux-resctrl-fake-feature/resctrl/schemata    |   1 +
>  .../linux-resctrl-fake-feature/system              |   1 +
>  .../resctrl/info/L3_MON/max_threshold_occupancy    |   1 +
>  .../linux-resctrl/resctrl/info/L3_MON/mon_features |   3 +
>  .../linux-resctrl/resctrl/info/L3_MON/num_rmids    |   1 +
>  .../vircaps2xmldata/vircaps-x86_64-resctrl-cmt.xml |  53 ++++++++++
>  .../vircaps-x86_64-resctrl-fake-feature.xml        |  73 ++++++++++++++
>  tests/vircaps2xmldata/vircaps-x86_64-resctrl.xml   |   7 ++
>  tests/vircaps2xmltest.c                            |   2 +
>  35 files changed, 425 insertions(+), 1 deletion(-)
>  create mode 100644 tests/vircaps2xmldata/linux-resctrl-cmt/resctrl/info/L3_MON/max_threshold_occupancy
>  create mode 100644 tests/vircaps2xmldata/linux-resctrl-cmt/resctrl/info/L3_MON/mon_features
>  create mode 100644 tests/vircaps2xmldata/linux-resctrl-cmt/resctrl/info/L3_MON/num_rmids
>  create mode 100644 tests/vircaps2xmldata/linux-resctrl-cmt/resctrl/manualres/cpus
>  create mode 100644 tests/vircaps2xmldata/linux-resctrl-cmt/resctrl/manualres/schemata
>  create mode 100644 tests/vircaps2xmldata/linux-resctrl-cmt/resctrl/manualres/tasks
>  create mode 100644 tests/vircaps2xmldata/linux-resctrl-cmt/resctrl/schemata
>  create mode 120000 tests/vircaps2xmldata/linux-resctrl-cmt/system
>  create mode 100644 tests/vircaps2xmldata/linux-resctrl-fake-feature/resctrl/info/L3/cbm_mask
>  create mode 100644 tests/vircaps2xmldata/linux-resctrl-fake-feature/resctrl/info/L3/min_cbm_bits
>  create mode 100644 tests/vircaps2xmldata/linux-resctrl-fake-feature/resctrl/info/L3/num_closids
>  create mode 100644 tests/vircaps2xmldata/linux-resctrl-fake-feature/resctrl/info/L3_MON/max_threshold_occupancy
>  create mode 100644 tests/vircaps2xmldata/linux-resctrl-fake-feature/resctrl/info/L3_MON/mon_features
>  create mode 100644 tests/vircaps2xmldata/linux-resctrl-fake-feature/resctrl/info/L3_MON/num_rmids
>  create mode 100644 tests/vircaps2xmldata/linux-resctrl-fake-feature/resctrl/info/MB/bandwidth_gran
>  create mode 100644 tests/vircaps2xmldata/linux-resctrl-fake-feature/resctrl/info/MB/min_bandwidth
>  create mode 100644 tests/vircaps2xmldata/linux-resctrl-fake-feature/resctrl/info/MB/num_closids
>  create mode 100644 tests/vircaps2xmldata/linux-resctrl-fake-feature/resctrl/manualres/cpus
>  create mode 100644 tests/vircaps2xmldata/linux-resctrl-fake-feature/resctrl/manualres/schemata
>  create mode 100644 tests/vircaps2xmldata/linux-resctrl-fake-feature/resctrl/manualres/tasks
>  create mode 100644 tests/vircaps2xmldata/linux-resctrl-fake-feature/resctrl/schemata
>  create mode 120000 tests/vircaps2xmldata/linux-resctrl-fake-feature/system
>  create mode 100644 tests/vircaps2xmldata/linux-resctrl/resctrl/info/L3_MON/max_threshold_occupancy
>  create mode 100644 tests/vircaps2xmldata/linux-resctrl/resctrl/info/L3_MON/mon_features
>  create mode 100644 tests/vircaps2xmldata/linux-resctrl/resctrl/info/L3_MON/num_rmids
>  create mode 100644 tests/vircaps2xmldata/vircaps-x86_64-resctrl-cmt.xml
>  create mode 100644 tests/vircaps2xmldata/vircaps-x86_64-resctrl-fake-feature.xml
> 

Reviewed-by: John Ferlan <jferlan at redhat.com>

John

[once I have the answer to the question I posed in 1/4 I can push the
series].




More information about the libvir-list mailing list