Jump to content United States-English
HP.com Home Products and Services Support and Drivers Solutions How to Buy
» Contact HP

hp.com home


overview of the perfmon project

» 

HP Labs

» Research
» News and events
» Technical reports
» About HP Labs
» Careers @ HP Labs
» People
» Worldwide sites
» Downloads
Content starts here

The goal of this project is to design a standard kernel interface, called perfmon2, to access the hardware performance counters available on all modern processors.

We are initially using Linux on the Itanium Processor Family (IPF) as the testbed because the Itanium Performance Monitoring Unit (PMU) is very interesting and also because monitoring is very important for this processor architecture. However there is nothing specific to IPF in the design and the interface could be implemented on other architectures as well.

As part of the project we have also developed user level software to demonstrate how the interface can be used. This software consists of a library, called libpfm, and a monitoring tool called pfmon.

Here is a summary of what each component provides:

perfmon2:

This is the performance interface which gives full access to the PMU.

libpfm:

This is a helper library which can be used by tools to setup the parameters to the kernel perfmon interface. The library encapsulates all the PMU model specific information, such as event encodings and constraints. The library is not required to use the kernel interface. The library currently supports all existing Itanium PMU models.

pfmon:

This is a simple monitoring tool which can monitor unmodified programs or the entire system (UP and SMP). With pfmon, you can collect event counts or create sampling sessions. The tool currently supports all existing Itanium PMU models.



project links

» project home
» perfmon overview
» libpfm overview
» pfmon overview
» mailing list
» downloads
» bibliography
» presentations
Printable version
Privacy statement Using this site means you accept its terms Feedback to HP Labs
© 2009 Hewlett-Packard Development Company, L.P.