perfmon2
   improving performance monitoring on Linux
 
News
Tuesday, March 28th, 2023
libpfm-4.13.0 released!

A major version of libpfm4 is available.

Key updates:

  • update Intel SKL/SKX/CLX event table
  • add ARM Neoverse V2 core PMU support
  • move ARM Neoverse N2 to ARMv9 support
  • add ARM v9 support basic infrastructure
  • add Arm Neoverse V1 core PMU support
  • Update Intel SapphireRapid event table
  • update Intel Icelake event table
  • update AMD Zen4 event table
  • add AMD Zen4 core PMU support
  • correctly detect all AMD Zen3 processors
  • fix CPU_CLK_UNHALTED.REF_DISTRIBUTED on Intel Icelake

The tarball is available from the Project Files link on the left, and then libpfm4, or click here

Saturday, September 17th, 2022
libpfm-4.12.0 released!

A major version of libpfm4 is available.

Major updates:

  • Add IBM Power10 core PMU support
  • Add Intel IcelakeX core PMU support
  • Add Intel SapphireRapid core PMU support
  • Add Intel SapphireRapid RAPL PMU support
  • Update Intel Icelake RAPL PMU support
  • Add support HiSilicon Kunpeng uncore PMUs
  • Add support HiSilicon Kunpeng core PMU
  • Remove arm_fujitsu_a64fx_support for ARM(32 bit)
  • Update Intel Skylake event table
  • Add Intel PERF_METRICS event support for Icelake
  • Add support for ARM Neoverse N2 core PMU
  • Add ARM SPE events for Neoverse N1 core PMU
  • Add cgroup-switches software event
  • Add Intel Tigerlake and Rocketlake core PMU support
  • Add AMD64 Fam19h Zen3 L3 PMU support
  • Add AMD64 Fam17h Zen2 RAPL support
  • Add AMD64 Fam19h Zen3 core PMU support
  • Add RAPL for AMD64 Fam19h Zen3 processor
  • Update ARM N1 event table
  • Update AMD Fam17h Zen2 event table
  • s390: Update counter definition for IBM z16

The tarball is available from the Project Files link on the left, and then libpfm4, or click here

Thursday, September 3rd, 2020
libpfm-4.11.0 released!

A major version of libpfm4 is available.

Major updates:

  • AMD Zen1 core PMU updates
  • AMD Zen2 core PMU support
  • Intel Icelake core PMU support
  • support to report if events are speculative
  • support for Extended PEBS events on Icelake
  • Intel Tremont core PMU support
  • ARM Neoverse N1 core PMU support
  • s390 event table updates
  • Marvell TX2 core and uncore updates
  • Intel CascadeLakeX uncore PMU support
  • Various other event table updates and bug fixes

The tarball is available from the Project Files link on the left, and then libpfm4, or click here

Thursday, June 13th, 2018
libpfm-4.10.1 released!

A new minor version of libpfm4 is available.

Small updates::

  • Fix build issues on Cavium Tunder X2 from v4.10
  • Update to Intel Skylake event table

The tarball is available from the Project Files link on the left, and then libpfm4, or click here

Thursday, June 6th, 2018
libpfm-4.10.0 released!

A new version of libpfm4 is available.

Major updates::

  • Intel Skylake X uncore PMUs support (all PMU boxes)
  • Intel Knight Mill (KNM) core PMU support
  • Cavium Thunder X2 core PMU support
  • various event table updates
  • various bug fixes

The tarball is available from the Project Files link on the left, and then libpfm4, or click here

Thursday, January 4th, 2018
libpfm-4.9.0 released!

A new version of libpfm4 is available.

Major updates::

  • Intel Broadwell EP uncore PMUs support (all PMU boxes)
  • AMD Fam17h (Zen) core PMU support
  • IBM Power9 core PMU support
  • AMD Fam16h (Jaguar) support
  • various event table updates
  • various bug fixes

The tarball is available from the Project Files link on the left, and then libpfm4, or click here

Monday, November 7th, 2016
libpfm-4.8.0 released!

A new version of libpfm4 is available.

Major updates::

  • Intel Knights Landing support (core and uncore)
  • Intel Goldmont support
  • Allow . as a delimiter for event string
  • enable Broadwell EP
  • Intel event table updates
  • various bug fixes

The tarball is available from the Project Files link on the left, and then libpfm4, or click here

Thursday, February 10th, 2016
libpfm-4.7.0 released!

A new version of libpfm4 is available.

Major updates::

  • Intel Skylake core PMU
  • Intel Haswell-EP uncore PMUs
  • Intel Broadwell-DE
  • Major update on Intel event tables
  • bug fixes and many other improvements

The tarball is available from the Project Files link on the left, and then libpfm4, or click here

Tuesday, December 30th, 2014
libpfm-4.6.0 released!

A new version of libpfm4 is available.

A lot of new hardware support:

  • Intel Broadwell (desktop core)
  • Intel Haswell-EP (core)
  • Intel Haswell-EP (core)
  • Applied Micro X-Gene processor
  • ARM A53 processor
  • Intel SNB, IVB, HSW event table updates
  • IBM Power8 event table updates
  • improved Intel x86 model detection
  • bug fixes and many other improvements

The tarball is available from the Project Files link on the left, and then libpfm4, or click here

Friday, February 21st, 2014
libpfm-4.5.0 released!

A new version of libpfm4 is available.

A lot of new hardware support:

  • Intel ivyBridge-EP uncore PMUs (all boxes)
  • Intel Silvermont core PMU
  • Intel RAPL events support
  • IBM Power 8 PMU
  • AMD Fam15h Northbridge PMU
  • Perf_events raw event syntax (rXXXX)
  • Qualcomm Krait PMU
  • bug fixes and many other improvements

The tarball is available from the Project Files link on the left, and then libpfm4, or click here

Friday, June 14th, 2013
libpfm-4.4.0 released!

A new version of libpfm4 is finally available. This release is meant for perf_events on Linux.

Lots of updates in this release:

  • Intel SandyBridge-EP uncore PMU support (all boxes)
  • Intel IvyBridge desktop core and uncore PMU support
  • Intel IvyBridge-EP core PMU support
  • newer Intel Haswell desktop core PMU support
  • newer Intel Atom
  • Intel Knigts Corner
  • Intel Nehalem, Westmere, SandyBridge, IvyBridge, Haswell PEBS Load Latency modifier (ldlat)
  • many bug fixes and other minor improvements

The tarball is available from the Project Files link on the left, and then libpfm4, or click here

Tuesday, Aug 28th, 2012
libpfm-4.3.0 released!

A new version of libpfm4 is finally available. This release is meant for perf_events on Linux. It does not work with the older perfmon interface

Lots of updates in this release:

  • Intel Sandy Bridge core PMU event update
  • Intel Sandy Bridge (desktop) uncore PMU support
  • Intel Ivy Bridge (desktop) core PMU support
  • ARM Cortex A15 PMU support
  • AMD Turion, LLano core PMU support
  • Intel Cedarview Atom core PMU support
  • perf_events generic hw events alias (cycles, instructions) support
  • updated perf_event examples
  • many bug fixes and other minor improvements

The tarball is available from the Project File link on the left, and then libpfm4, or click here

Friday, Oct 7th, 2011
libpfm-4.2.0 released!

A new version of libpfm4 is now available. This release is meant for perf_events on Linux. It does not work with the older perfmon interface

There were many improvements in this new version:

  • new AMD Fam15h support (thanks to Robert Richter from AMD)
  • Updated ARM Cortex A8/A9 support (thanks to Vince Weaver for his help on this)
  • new MIPS 74k support contributed by Phil Mucci (SamaraTechnologies)
  • 30% reduction in size for Intel/AMD event tables
  • improved support for Intel NHM/WSM/SNB offcore_response event
  • many bug fixes and other improvements

The tarball is available from the Project File link on the left, and then libpfm4, or click here

Wednesday, May 18th, 2011
libpfm-4.1.0 released!

The first version of libpfm4, libpfm4-1.0, is now ready for download.

This release is meant for perf_events on Linux. It does not work with the older perfmon interface

In this initial release, the library provides support for many X86 and non x86 processors. Check README for more details

Special thanks to all the people who helped with this release.

The tarball is available from the Project File link on the left, and then libpfm4, or click here

Wednesday, March 2nd, 2011
updated man pages, better API, better processor support

There was a major refresh of the libpfm4 user API to make is easier to use and extend in the future. We are nearing the release of version 1.0

We have updated support for most of the non x86-processors, incl. SPARC, ARM, Power


Thursday, June 3rd, 2010
libpfm4 git commit list

A libpfm4 git commit mailing has been created to allow users to tracks changes to the library.

To subscribe to the list, click here.

Thursday, December 31st, 2009
libpfm4 update

There were some major API changes to libpfm4. It is now simpler with fewer calls while providing default unit masks and more robust sanity checks on event strings. All the source is available in the GIT tree. Man pages and online documentation have also been updated.

For documentation, click here.

Friday, October 1st, 2009
libpfm4 source code available

The libpfm4 source code is now available for download. The source is managed via GIT. A git tree has been setup. It is totally separate from the CVS repository for libpfm3 and pfmon.

No formal release of libpfm4 is available as of now.

To clone the GIT tree:

  $ git clone git://perfmon2.git.sourceforge.net/gitroot/perfmon2/libpfm4