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

Michal Privoznik mprivozn at redhat.com
Wed Jul 31 12:37:48 UTC 2019


On 6/11/19 5:31 AM, Wang Huaqiang wrote:
> 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(-)
> 

Reviewed-by: Michal Privoznik <mprivozn at redhat.com>

I'll push these once the freeze is over.

Michal




More information about the libvir-list mailing list