On 5/14/26 16:41, Jedrzej Wasiukiewicz wrote: > Linux kernel 7.0 introduced PERF_PKG_MON support in resctrl filesystem > which exposes per-workload energy and performance monitoring. > > This series enables per-VM energy monitoring via core_energy (Joules) and > activity (Farads) counters. Energy monitors can be configured through new > <energytune> element under <cputune> following earlier cachetune and > memorytune patterns. > > Design notes: > > Energy values from resctrl are floating-point. I added separate dvals/ndvals > pair to virResctrlMonitorStats to handle them. I kept them in a single > struct for easier integration with performance counters (integers and floats > within same monitor) that might be integrated in another patch. > > The new XML element is <energytune> under <cputune> following earlier pattern > for > resctrl features (cachetune, memorytune). Energytune doesn't currently support > the "tuning" part, only monitoring. I added it as energytune for consistency > with > cache and memory features, keeping all resctrl handling under cputune. This > also makes > sense with current resctrl architecture - all monitoring groups are part of an > allocation group. This approach allows for easy opt-in/out on the monitoring > features. > > Changes since v1 (RFC): > - Split into 5 patches (see below) > - Changed VIR_INFO/VIR_WARN to VIR_DEBUG > - Tightened energyMonitorFeature to <choice> of core_energy/activity instead > of regex > - Renamed test case energytune-basic -> energytune > - Minor comment cleanups in virresctrl.h > > Jedrzej Wasiukiewicz (5): > util: add PERF_PKG_MON energy monitoring support in virresctrl > conf: report energy monitoring in host capabilities > conf: add energytune to domain XML > qemu: resctrl energy counters via domstats > NEWS: document resctrl energy monitoring > > NEWS.rst | 6 + > docs/formatdomain.rst | 20 +++ > include/libvirt/libvirt-domain.h | 65 ++++++++ > src/conf/capabilities.c | 42 +++++ > src/conf/capabilities.h | 6 + > src/conf/domain_conf.c | 99 ++++++++++++ > src/conf/schemas/capability.rng | 27 ++++ > src/conf/schemas/domaincommon.rng | 19 +++ > src/conf/virconftypes.h | 2 + > src/qemu/qemu_driver.c | 70 ++++++++- > src/util/virresctrl.c | 180 ++++++++++++++++++---- > src/util/virresctrl.h | 10 +- > tests/genericxml2xmlindata/energytune.xml | 32 ++++ > tests/genericxml2xmltest.c | 1 + > 14 files changed, 542 insertions(+), 37 deletions(-) > create mode 100644 tests/genericxml2xmlindata/energytune.xml > > -- > 2.34.1 > --------------------------------------------------------------------- > Intel Technology Poland sp. z o.o. > ul. Slowackiego 173 | 80-298 Gdansk | Sad Rejonowy Gdansk Polnoc | VII > Wydzial Gospodarczy Krajowego Rejestru Sadowego - KRS 101882 | NIP > 957-07-52-316 | Kapital zakladowy 200.000 PLN. > Spolka oswiadcza, ze posiada status duzego przedsiebiorcy w rozumieniu ustawy > z dnia 8 marca 2013 r. o przeciwdzialaniu nadmiernym opoznieniom w > transakcjach handlowych. > > Ta wiadomosc wraz z zalacznikami jest przeznaczona dla okreslonego adresata i > moze zawierac informacje poufne. W razie przypadkowego otrzymania tej > wiadomosci, prosimy o powiadomienie nadawcy oraz trwale jej usuniecie; > jakiekolwiek przegladanie lub rozpowszechnianie jest zabronione. > This e-mail and any attachments may contain confidential material for the > sole use of the intended recipient(s). If you are not the intended recipient, > please contact the sender and delete all copies; any review or distribution > by others is strictly prohibited. >
I'm fixing those small nits I pointed our in my review and merging. Reviewed-by: Michal Privoznik <[email protected]> Congratulations on your first libvirt contribution! Michal
