perfmon2
   the hardware-based performance monitoring interface for Linux
opensource.hp.com Link to Linux and HP web site  
News
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
  
Wednesday, September 30th, 2009
libpfm4 documentation available

Libpfm4 is a complete redesign of libpfm3, almost all the code has been rewritten from scratch. This new version offers much better flexibility and simplicity to express events. It is not backward compatible with libpfm3.x.

Libpfm4 currently does not offer perfmon2.x support. It is initially targeted for the perf_events interface which has been selected over perfmon2.x to be in the upstream kernel. Perf_events is available since Linux v2.6.31 but only on Intel and AMD X86 and IBM Power processors.

Libpfm4 source code will be uploaded shortly. It will be available as a separate package from libpfm3.x. It will use GIT instead of CVS for source control.

The documentation for libpfm4, in the form of man pages, is now available on this site. It provides the complete view of the new interface. It is recommended to start with the introduction man page: libpfm.

To access the documentation, click on the Documentation link here.

Monday, June 22nd, 2009
2.6.29 and new user packages
The 2.6.29 perfmon kernel patch is available.

Highlights for the kernel:
  • AMD Family 11h support
  • PEBS now using Markus Metzger's ds.c interface
  • lots of code cleanups
  • Nehalem uncore bug fixes

There is also a new version of libpfm, 3.9.
Here are some of the changes:
  • restructured Intel Nehalem support
  • pfm_get_event_code() on Power return a value for PCL (Corey Ashford)
There is also new version of pfmon, pfmon-3.9, which includes the following changes:
  • new --smpl-raw and --smpl-compact options for all modules
  • improved symbol table management
Check changelogs for more detailed description of changes.
You can download everything from our download page here