perf_event Programming Guide

The perf_event kernel API is poorly documented. The developers themselves do not always seem inclined to update the documentation. Since I have to muck around in the low-level interface, I've been putting what I've learned into this document.

This is based on the files "tools/perf/design.txt" and "include/linux/perf_event.h" in the Linux kernel tree, as well as the perf code and libpfm4 code.

Man Pages with Documentation

I wrote the Linux manpage for perf_event_open. It was included in the Linux manpage project as of version 3.47.

More documentation not yet in the manpage (my TODO as it were):

About this Documentation

If you find any bugs or have any comments or improvements, send me an e-mail at vincent.weaver _at_
Back to Unofficial Perf-Events homepage
by Vince Weaver -- Last updated 7 March 2013