|| ||[patch 00/24] perfmon: introduction|
|| ||Wed, 26 Nov 2008 00:41:55 -0800 (PST)|
|| ||email@example.com, firstname.lastname@example.org, email@example.com,
firstname.lastname@example.org, email@example.com, firstname.lastname@example.org|
|| ||Article, Thread
[Repost with the correct cc: list]
This series of patches implements the perfmon interface which provides access
to the hardware performance counters of modern processors. In particular,
this version supports per-thread counting for all AMD64 processors, and
recent Intel processors with architectural PMU (Core Duo, Core 2, Atom,
and Core i7).
It does not supersede Oprofile in this first implementation. Oprofile
and perfmon can be compiled in the same kernel, but only one can have
an active session at a time.
This implementation takes into account the various comments received from
previous reviews on LKML. This is a much simplified version compared to
the fully featured version maintained as a GIT tree on kernel.org.
This new version, named perfmon3, uses only 5 system calls (instead of 12).
Each call was carefully designed to allow for future extensions.
Full documentation is available in Documentation/perfmon.txt and is provided
by one of the patches.
Once this basic set of perfmon functionalities is upstream, we will build
on it and add other features such as support for sampling, event set
multiplexing and other processor architectures.
Updated versions of libpfm and pfmon able to support both perfmon2 and
perfmon3 are available in the CVS repository on the perfmon web site, check
The patch series is against 2.6.28-rc6.
Please consider adding this patch series for 2.6.29 and send me any
comments you may have on the code.
Thanks to all the people who have contributed to this effort.