>linuxsymposium

July 19th ~ 22nd, 2006, Ottawa, Canada

Registration

Call For Papers
Register/Login

Content

Schedule
Speaker Guide
Presentations
Tutorials
BOFS

Related

Sponsors
Venue
Travel
FAQ

Archives

Proceedings
Photos
2005
2004
2003
2002
2001
2000
1999

Contacts

Information
Home

perfmon2: a Flexible Performance Monitoring Interface for Linux

Performance Monitoring is key to achieving world-class performance. Linux does not have yet a generic interface to access the performance counters present in all modern processors. We present an overview of perfmon2, a generic, flexible and powerful interface to exploit the performance counters of major processors such as Itanium processors, P4/EM64T, Pentium M, AMD Opteron, MIPS, and PowerPC. The interface supports counting and sampling on a per-thread basis or across a set of CPUs. Efficient sampling is achieved via a kernel-level buffer that is re-mapped to user space. Because different tools may want to manage samples in different ways, the format of the buffer is not controlled by the core of perfmon2. Instead, it is implemented by kernel modules. Multiple formats can be registered and tools can simply pick the one they need using their unique identifier. This mechanism was leveraged to support the P4 Precise Event-Based Sampling (PEBS), for instance. There is also support for kernel-level event set multiplexing to work around hardware limitations such as limited number of counters.A first implementation of this interface exist for Linux/ia64 and is shipping with major distributions. Several open-source and commercial tools have been developed or ported to this interface. We are in the process of getting the multi-architecture implementation accepted into the mainline kernel for the benefit of all tool developers.



Major Sponsors




Minor Sponsors



Wireless

Supporters



register | login | call for papers | schedule | talks | tutorials | bofs | venue | travel | faq | link us | sponsors | contact | home

Copyright © 2007 Linux Symposium Inc. All rights reserved.
Linux is a registered trademark of Linus Torvalds.