Releases: intel/pcm
Releases · intel/pcm
202409 Release
Release Notes
New Features:
- Intel Xeon 6 processors with P-cores (Granite Rapids) support (Alexander Antonov, Gang Deng, White Hu, Pavithran Pandiyan, Roman Dementiev)
- Lunar Lake support
- support pcm-power on Sierra Forest processors
- grafana: add core and uncore frequencies metrics
- grafana: add TMA and local/remote access ratio metrics
- pcm-tpmi: add -i instances option
- bhs-power-mode.sh script for BirchStream platforms (Granite Rapids and Sierra Forest processors)
Improvements
- pcm-sensor-server: enable compilation with SSL
- pcm-sensor-server: addition of a fuzzing client and subsequent rewrite of parts of the network communication and SSL detection (Bruggeman, Otto G)
- pcm-sensor-server: stop using deprecated SSL functions (Otto Bruggeman)
- docker: parallel build (make -j) (Pawel Palucki)
- docker: build ignores "build" directory to not interfere with it (Pawel Palucki)
- pcm-raw: add perfmon event repository as submodule for convenience and update instructions for perfmon event map/files
- pcm-memory: replace NODE with SKT to avoid confusion with NUMA NODEs
- added license to Dockerfile (Thomas Willhalm)
- added PCM::checkStatus() API call (Artiom N.)
- avoid using the hard-coded /usr/share/pcm/ path
- cmake: compile with libasan
- cmake: NO_STATIC_LIBASAN replaced with option (Artiom N.)
- cmake: Added options prefix. Adde wxecutables build option (Artiom N.)
- docker: bump fedora
5ce8497
(dependabot) - grafana: change the refresh period to 1s
- grafana: show energy charts after freq charts
- cmake: implement -DNO_ASAN=1 option
- cmake: introduce NO_STATIC_LIBASAN option
- cmake: introduce -DNO_STATIC_MSVC_RUNTIME_LIBRARY=1 option
- drop support of gcc < 7
- pcm-raw: make ICX PMURegisterDeclarations available on older steppings
- upgrade simdjson to v3.9.4
- add -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer and other hardening
- set pointers to nullptr after delete or free
- add PCM_ENFORCE_MBM option (env variable)
- erase unneeded environment variables
Fixes:
- handle TPMI initilization for systems without access to MCFG tables e.g. docker/VM (Pawel Palucki)
- fix ssl accept issues (Otto Bruggeman)
- fix public github issue #810 (Bruggeman, Otto G)
- fix double free (Artiom N.)
- specify a stable URL for WinPMem
- pcm-raw: really use the alt_path if it exists (a bug fix)
- link 1 does not have own speed register only on QPI
- grafana: don't show unsupported metrics in prometheus
- disable unsupported freq metrics for prometheus
- fix locking in AcceleratorCounterState::getInstance()
- fix a crash due to uninitialized array
- avoid pre-mature PCM init triggered by global counter state init
- fix a heap-buffer-overflow and a memory leak and throw exception with verbose reason
- do not include shared library code into pcm-core executable
- address issue #758 SPR UPI discovery table is broken on SPR MCC
202405 Release
Release Notes
New Features
- Xeon 6E Processor Support: Added support for Xeon 6E processor (Sierra Forest/SRF). (Alexander Antonov, Gang Deng, Pavithran Pandiyan, Roman Dementiev)
- pcm-iio: Enabled pcm-iio for Sierra Forest (SRF) processors. (Alexander Antonov)
- Intel QAT Support: Added support for QAT Linux in-tree driver addressing issue#547. (Gang Deng)
- Meteor Lake Support: Added support for Meteor Lake processors. (Roman Dementiev)
- Intel PMT raw counter support in pcm-raw: Added support for Intel Platform Monitoring Technology Telemetry (Intel PMT) raw counters. (Roman Dementiev)
- Client CPU Energy Metrics: Support for client CPU energy metrics in Grafana. (Roman Dementiev)
- Colorful Display: Added --color option for colorful display in the command-line interface. (Roman Dementiev)
Improvements
- CPU Support: Support for more CPUs added for localMemoryRequestRatioMetric. (Roman Dementiev)
- Precise UPI Speed Detection: Improved UPI speed detection on SPR using UPI_SPEED_REGISTER. (Roman Dementiev)
- Metric Version 2: Made metric version 2 the default setting. (Roman Dementiev)
- New CONTRIBUTING.md: Added a CONTRIBUTING.md file to help guide new contributors. (Roman Dementiev)
Fixes
- Dashboard Graph: Replaced Graph with Timeseries for better visualization in the dashboard. (Vimal Kumar)
- Incorrect PMON IDs: Fixed incorrect PMON IDs for HCx stacks. (Alexander Antonov)
- Ubox PMU Declarations: Added declarations for ubox PMU. (Huang, Xiaojun)
- Indentation Alignment: Fixed indentation alignment issues in BuildRequires statements and corrected the Version and Url fields in pcm.spec. (Jon Kohler)
- Error Checking: Added error checking and validation to start-prometheus.sh and start.sh scripts. (Roman Dementiev)
- Crash on BDX: Fixed a crash on BDX when trying to program IRP or IIO PMU. (Roman Dementiev)
- Less Useful Metrics: Disabled less useful metrics to streamline performance monitoring metric display. (Roman Dementiev)
202403 Release
Release Notes
New Features
- pcm: implement alternative metrics option -m (UTIL=C0 residency for cores, CFREQ=core frequency in GHz) and make it default by Roman Dementiev
- provide experimental kubernetes manifest by Pat Riehecky
- grafana scripts: use network instead of link and to use podman or docker by Vimal Kumar
Improvements
- Hardened binaries with "-Wl,-z,now" option on Linux by opcm
- pcm-raw: fall-back to older stepping PMURegisterDeclarations if available by Roman Dementiev
- Detect UPI LL PMUs on SPR/EMR through uncore PMU discovery and detect IMC PMUs on SPR/EMR through uncore PMU discovery by Roman Dementiev
- Use larger (1Gbyte) buffer in memoptest to increase LLC miss rate by Roman Dementiev
- grafana script enhancements by Roman Dementiev
Fixes
- Fixed parameter parsing in pcm-sensor-server by Roman Dementiev
- Fix: Accessing member of deleted objects by scuzqy
- Addressed issue #665 - Windows MSR driver compilation error by Roman Dementiev
202401 Release
Release Notes:
New Features
- Added Emerald Rapids processor support (Alexander Antonov and Roman Dementiev)
- Added support for TMA Level 2 metrics on SPR+ (Roman Dementiev)
- Added support of PP0 and PP1 energy metrics (Roman Dementiev)
- Added -c option (corelist) to pcm-numa and pcm-msr utilites (Duane E Galbi)
- pcm-msr new options added: iterate with seconds between each iteration and write results of each iteration to file (Duane E Galbi)
- Added support for pcm-sensor-server metric exporter/service on OSX (Roman Dementiev)
Improvements
- Removed hardcoded value for max supported sockets in pcm-iio tool (Alexander Antonov)
- Rely on CPUID leaf 0x1F topology info when available (Roman Dementiev)
Fixes
- Ensured PcmMsrClient on OSX can only be opened by root (HaoYan Qi)
- Fixed codeQL warnings (Roman Dementiev)
- Addressed issue with exceptions in msr.sys (Roman Dementiev)
Dependencies
- Bumped fedora from 37 to 39 in docker container (dependabot)
202311 Release
Release Notes
New Features
- Support for Sapphire Rapids accelerators in pcm-grafana dashboard. (Pavithran Pandiyan)
- Added support of Sapphire Rapids MCC CPUs in pcm-iio tool. (Alexander Antonov)
- Added support for M3UPI PMU for Sapphire Rapids. (Dementiev, Roman)
- Added new tool to access TPMI registers: pcm-tpmi (Dementiev, Roman)
- Added support for mmio register reads in pcm-raw tool. (Dementiev, Roman)
pcm-raw
now supports ha pmu and added invert,anythread,nc,isoc,opc and state emon event modifiers. (Dementiev, Roman)- New script for filtering data in CSV. (Dementiev, Roman)
- Added bit operations for pcm register tools: pcm-msr, pcm-pcicfg, pcm-mmio (Dementiev, Roman)
Improvements
- Updated windows-related documentation. (Dementiev, Roman)
- Added instructions for compiling windows driver. (QiongwenXu)
- pcm-raw: Add PCU PMU declaration for BDX/SKX/CLX/CPX and document pcicfg register events (Dementiev, Roman)
- pcm-raw: remove the max number of event restrictions for register events (Dementiev, Roman)
Bug Fixes
- Fixed deadlock in
processDVSEC
. (Dementiev, Roman) - Fixed race condition in
isHWTMAL1Supported
. (Dementiev, Roman) - Fixed a clang scan warning. (Dementiev, Roman)
- Fixed the docker name for Grafana in
start.sh
. (Mike Yang) - Fixed an issue in
getMaxNumOfCBoxes
to allow the fall-back perf API method to be called. (Dementiev, Roman) - Fixed an issue with
pcicfg reg
syntax documentation. (opcm) - Fixed an issue in
pcm-accel
to avoid confusion when overflow happens. (White Hu) - Added exception handling in
utils.cpp:get_cpu_bus()
. (Steffen Persvold) - Fix pcm for PCU and MDF: IO read size is data size (xuqiongwen-ms)
Other Changes
- DLL-related code enhancements (Dementiev, Roman)
- Added
PCM_NO_MAIN_EXCEPTION_HANDLER
variable. (Dementiev, Roman)
202307 Release
Release Notes
- pcm-memory and grafana dashboard: support CXL bandwidth monitoring on Sapphire Rapids
- pcm-raw: support collection for MSR and PCICFG (CSR) registers in csv format
- pcm-mmio: support dumps for memory regions
- pcm-raw: additional CPU model/steppings supported (CPX, SPR)
- pcm-pcicfg: support PCICFG register lookup/search by device ID
- documentation updates (how to run under non-root user, CXL monitoring, pcm-accel IAA, DSA, QAT, pcm-raw register monitoring)
- addressed CVE-2023-34351
- bug fixes
202302 Release
Release Notes
- pcm-accel: support monitoring of Intel® QuickAssist Technology (QAT) performance metrics
- grafana: support grafana dashboards with multiple hosts (with host selector) and fix UPI charts
- grafana: added dram pmem bandwidth and their ratio to grafana charts
- added python script to automate the generation of summary reports from pcm csv
- added backtrace info with signal SEGV for better debugability
- pcm-pcie: fix issues with delay parameter
- pcm-raw: validate counter event restrictions
- pcm-raw: initial support of hybrid cpus
- added LLCRDMISSLAT metric support for SPR
- added support for Gemini Lake
- added support memory bandwidth metrics for more ADL&TGL CPU models
- added systemd unit for Linux systems
- pcm-sensor-server: enhanced error handling in close, setSocket and sync calls
- avoid using errata events on older processors
- pcm-sensor-server: implement -force-rtm-abort-mode option
202212 Release
Release Notes:
- pcm-memory: add SPR HBM support
- support multiple hosts for Grafana dashboard with prometheus
- fixes for pcm-iio/pcm-accel
202211 Release
Release Notes:
- added Sapphire Rapids processor support
- added new pcm-accel utility to monitor Sapphire Rapids accelerator performance
- added --version option to all pcm tools
- pcm: new "enforce flush output" option
- pcm-raw: support ocr_msr_val and tid modifiers
- fixed default value for CHA filter1 on CLX and SKX
- pcm-sensor-server: allow build on FreeBSD
- pcm-raw: adopt new JSON event file format, new URLs for perfmon event lists
202210 Release
Change notes:
- rename Processor Counter Monitor to Intel(r) Performance Counter Monitor
- implement Raptor Lake support in pcm utility
- pcm-raw: support event collection by name by default (via simdjson submodule)
- prevent injections in event names in core pcm-raw and pcm-core
- add no output directory error
- expand custom counter memory for PCM-Service
- removed custom processing of CMAKE_INSTALL_PREFIX
- suppress stderr messages when --help/-h called
- README: added command to install PCM on RHEL
- add SNR register definitions
- code quality enhancements
- refactor argument parsing in pcm utilities
- stability improvements
- fix top-down events on some Linux kernels
- refactored OSX-specific code
- pcm-memory: option to enforce output flush