The perfmon2 interface specification

Stéphane Eranian · 2005

Performance Monitoring Unit, PMU, performance tools, hardware counters, IPF, IA64 Linux, perfmon kernel interface Monitoring program execution is becoming key to achieving world class performance. All modern processors implement a sophisticated set of hardware performance counters to collect a lot of micro-architectural events which are important clues for software optimizations. Yet there is no standardized interface to access those counters which makes developing portable performance tools challenging. We have designed a powerful monitoring interface to access the performance counters present on all modern processors. The interface is generic and does not compromise access to processor specific features. It enables a diversity of tools to be developed or ported. In particular tools can collect simple counts or profiles on a per-thread or system-wide basis. The interface introduces several innovations such as customizable kernellevel sampling buffer formats, time and overflow-based event set multiplexing. An implementation exists for Linux 2.6 kernel for the Itanium Processor Family (IPF). Several open-source and commercial tools based on interface are available from HP and others. This document presents version 0.6 of the full specification of the interface including the Itaniumspecific features.

Read the paper · More papers on PaperTik