[libvirt] [PATCHv2 00/11] util/resctrl cleanups and refactors

Wang Huaqiang huaqiang.wang at intel.com
Tue Jun 11 03:31:05 UTC 2019


Patches submitted for purpose of refactoring existing 'resctrl' related
source code, including some code cleanups as well as some fixes. This is
also a preparation for memory bandwidth monitor codes.

Plan to support Resctrl Control Monitors, which is a feature introduced
by kernel 'resctrl' sub-model. Submit some cleanup and refactoring patches
for upcoming memory bandwidth resource monitoring (MBM) monitors.

Related MBM RFC is
https://www.redhat.com/archives/libvir-list/2019-April/msg01409.html.
This RFC is not actively discussed since libvirt already implemented similar
resctrl cache monitoring (CMT), and lots details have been discussed
and implemented during the work of CMT.

The cleanups and refactoring includes:
v2 changes:
1. Addressed comments of v1.
2. Introduce a new algorithm for verifying new monitor vcpus and existing
monitors and allocations.
3. Fixes for creating default-allocation-monitor in 'resctrl' file
system.(patch 0001).

v1 changes:
1. Removing some reluctant lines and white spaces that is existing
in current code and not meet the libvirt coding style.
2. Replace 'virResctrlAllocIsEmpty' with @n==0 for indicating no
resctrl allocation in configuration file.
3. Private API changes, removed 'virResctrlMonitorGetCacheOccupancy'
and exported a new API named 'virResctrlMonitorGetStats' with similar
functionality, but with capability to be used for retrieving MBM
statistical information.
4. Refactoring 'virResctrlMonitorFreeStats' for more reusing in code.
5. Extend data structure 'virResctrlMonitorStats' with the capability
to carry multiple statistical information from monitor.

Wang Huaqiang (11):
  util,conf: Handle default monitor group of an allocation properly
  conf: code cleanup, remove empty line and one space
  conf: code cleanup for return error code directly
  conf: some code cleanup
  conf: refactor 'virDomainResctrlVcpuMatch' and some code cleanup
  conf: Append 'resctrl' object according to number of monitor group
    directly
  util: Refactor and rename 'virResctrlMonitorFreeStats'
  util: Refactor 'virResctrlMonitorStats'
  util: Extend virresctl API to retrieve multiple monitor statistics
  util: Remove unused virResctrlMonitorGetCacheOccupancy
  conf: Refactor and rename the function to validate a new resctrl
    monitor

 src/conf/domain_conf.c   | 145 ++++++++++++++++++++++++-----------------------
 src/libvirt_private.syms |   5 +-
 src/qemu/qemu_driver.c   |  41 ++++++++++----
 src/qemu/qemu_process.c  |   3 +-
 src/util/virresctrl.c    |  75 ++++++++++--------------
 src/util/virresctrl.h    |  23 +++++---
 6 files changed, 156 insertions(+), 136 deletions(-)

-- 
2.7.4




More information about the libvir-list mailing list