[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