perfmon2
   the hardware-based performance monitoring interface for Linux
opensource.hp.com Link to Linux and HP web site  
News
Tuesday, April 29th, 2008
2.6.25 and new user packages
The 2.6.25 perfmon kernel patch is available...

There were no changes to the perfmon API. This is however the major restructuring release.
A lot of code has moved around, lots of new generic files have been created in an effort to isloate features per module.
The header files have also been clearly separated between user and kernel and between private and shared within the kernel.
All this resructuring does make it easier for the merge with mainline.
An unpexcted side effect is that the rewritten interrupt handler is now 15% faster on single counter sampling on X86.
There were some Cell updates (Takashi Yamamoto).

There is also a new version of libpfm, 3.4.
Here are some of the changes:
  • auto-detection of system call base for 2.6.24 and 2.6.25
  • environment variables to enable debug/verbose output
  • Cray updates and man pages cleanups (Steve Kaufmann)
  • support for AMD Family 10h processor IBS (Robert Richter)
  • Pyhon Bindings for the library (Arun Sharma)
  • Cell updates (Takashi Yamamoto)
  • proof-of-concept MacOS (Tiger) support
Finally, a new version of pfmon, pfmon-3.4, which includes the following changes:
  • lots of bugs fixes in generic and arch-specific code
  • support for dmalloc (Andrzej Nowak)
  • support for SIGTERM to terminate pfmon cleanly
  • Cell updates (Takashi Yamamoto)
  • dlopen tracking in mixed ABI environments
Check changelogs for more detailed description of changes.
You can download everything from our download page here
Monday, February 25th, 2008
2.6.24 and new user packages
The 2.6.24 perfmon kernel patch is available...

There were some changes to the API, now at version 2.8.
The new patch against 2.6.24, includes the following changes:
  • support for IBM Power 4 and Power6 (Kevin Corey)
  • support for Sun Ultra12, 3, 3i, 3+, 4+, Niagara, Niagara 2 (David S. Miller)
  • support for MIPS R12000 (Vince Weaver)
  • support for Intel Pentium Pro (Vince Weaver)
  • support for Intel Penryn processors
  • allow user-level RDPMC for self-monitoring per-thread session
  • x86 merged code
  • switch timeout now using hrtimer infrastructure
  • improvements to IBM Cell and PS3 support (Takashi Yamamoto)
Special Thanks to David S. Miller, Kevin (IBM) and Takashi (Sony) for their work on this release.

There is also a new version of libpfm.
This time the minor version was changed. Libpfm-3.3 includes the following important updates:
  • full event support for AMD Phenom (family 10h, a.k.a. Barcelona) (Robert Richter)
  • support for Sun Ultra12, 3, 3i, 3+, 4+, Niagara, Niagara 2 (David S. Miller)
  • Cray updates (Steve Kaufmann)
  • Pentium4 replay event tag support
  • allow numerical values for unit masks
  • various bug fixes and cleanups
Finally, a new version of pfmon, pfmon-3.3, which includes some major improvements:
  • support for Sun Ultra12, 3, 3i, 3+, 4+, Niagara, Niagara 2 (David S. Miller)
  • complete rewrite of symbol table parsing and management (Andrzej Nowak)
  • ability to correlate symbols in shared libraries
  • ability to correlate symbols across dlopen()/dlclose() (Andrzej Nowak)
  • correlate symbols to programs in system-wide mode (Phil Mucci)
  • Cell updates (Takashi Yamamoto)
  • various bug fixes and cleanups
Thanks to David S. Miller for his work on libpfm and pfmon support for Sun processors.
Special thanks to Andrzej Nowak (CERN) for his execellent work on pfmon symbol correlation.

Check changelogs for more detailed description of changes.
You can download everything from our download page here
Wednesday, November 7th, 2007
new perfmon2 mailing list
There is now a new mailing list for all technical discussions related to perfmon2. You can subscribe here.
Monday, October 29th, 2007
libpfm and pfmon man pages available
The man pages for all libpfm entry points and for pfmon generic options are now available online. Check out the documentation page here
Tuesday, October 23rd, 2007
updated pfmon online documentation
The online documentation for pfmon has been updated to reflect recent changes, esepcially in terms of sampling. There is also a new section describing the options specific to Intel Core 2 processors.

Check out the new pages here
Monday, October 22nd, 2007
2.623 and new user packages
The 2.6.23 perfmon kernel patch is available...

There were some minor changes to the API, now at version 2.7.
The new patch against 2.6.23, includes the following changes:
  • support for AMD Family 10h (Barcelona) processors
  • support for Barcelona Instruction-Based Sampling (IBS), (Robert Richter)
  • support for AMD K7 processors (Jeff Muizelaar)
  • IBM Cell processor updates (Kevin Corry, Takaki Azuma, Takayuki Uchikawa)
  • Intel PEBS split between Pentium 4 and Intel Core processors
  • Fixes for Intel architectural v2.0 support
  • FM_REGFL_OVFL_NOTIFY, PFM_REGFL_RANDOM supported on non counting PMD
  • no more per-element error code reported on calls with vector arguments
  • various cleanups and bug fixes
Special Thanks to Robert Richter for his work on getting IBS to work.

There is also a new version of libpfm, libpfm-3.2-071017, which includes the following important updates:
  • Intel Core event table updates, new event RS_UOPS_DISPATCHED_CYCLES
  • support for PPC64(PPC970{FX,GX,MP},POWER{4,4+,5,5+,6}) (Corey Ashford)
  • support for IBM Cell processor (Yoshio Funayama, Takayuki Uchikawa, Takashi Yamamoto)
  • Cray updates (Steve Kaufmann)
  • preliminary support for AMD Family 10h processors (no IBS, not all events)
  • various bug fixes and cleanups
Finally, a new version of pfmon, pfmon-3.-071017, with the following major updates:
  • improved symbol table parsing and searching
  • improved and simplified symbol demangling
  • improved default sampling format (inst-hist), now supports multiple sampling periods
  • Cell processor support (Takashi Yamamoto)
  • enhancement to PEBS support
  • new sampling formatting options
  • several bug fixes and cleanups
Check changelogs for more detailed description of changes.
You can download everything from our download page here
Tuesday, August 21st, 2007
kernel GIT tree available
There is now a GIT tree for the perfmon2 kernel that is available on kernel.org.
  • To get your copy of the tree: git clone git://git.kernel.org/pub/scm/linux/kernel/git/eranian/linux-2.6.git
  • To browse the tree: click here