linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* perf PMU support for Haswell v2
@ 2012-10-02 23:48 Andi Kleen
  2012-10-02 23:48 ` [PATCH 01/31] perf, x86: Add PEBSv2 record support Andi Kleen
                   ` (30 more replies)
  0 siblings, 31 replies; 38+ messages in thread
From: Andi Kleen @ 2012-10-02 23:48 UTC (permalink / raw)
  To: linux-kernel; +Cc: acme, x86, eranian, jolsa, a.p.zijlstra

This adds perf PMU support for the upcoming Haswell core. The patchkit 
is fairly large, mainly due to various enhancement for TSX. TSX tuning
relies heavily on the PMU, so I tried hard to make all facilities 
easily available. In addition it also has some other enhancements.

This includes changes to the core perf code, to the x86 specific part,
to the perf user land tools and to KVM

High level overview:

- Basic Haswell PMU support
- Easy high level TSX measurement in perf stat -T
- Transaction events and attributes implemented with sysfs enumeration
- Export arch perfmon events in sysfs 
- Generic weightend profiling for memory latency and transaction abort costs.
- Support for address profiling
- Support for filtering events inside/outside transactions
- KVM support to do this from guests
- Support for filtering/sorting/bucketing transaction abort types based on 
PEBS information
- LBR support for transactions

For more details on the Haswell PMU please see the SDM. For more details on TSX
please see http://halobates.de/adding-lock-elision-to-linux.pdf

Some of the added features could be added to older CPUs too. I plan
to do this, but in separate patches.

Review appreciated.

v2: Removed generic transaction events and qualifiers and use sysfs
enumeration. Also export arch perfmon, so that the qualifiers work.
Fixed various issues this exposed. Don't use a special macro for the
TSX constraints anymore. Address other review feedback.
Added pdir event in sysfs.

Still open (but no merge stopper): 
Would like to do tx-aborts instead of cpu/tx-aborts/. 
Need a way to handle cpu events that have the same name as 
generic events (e.g. instructions)

-Andi


^ permalink raw reply	[flat|nested] 38+ messages in thread
* perf PMU support for Haswell
@ 2012-09-28  4:31 Andi Kleen
  2012-09-28  4:31 ` [PATCH 03/31] perf, x86: Basic Haswell PEBS support Andi Kleen
  0 siblings, 1 reply; 38+ messages in thread
From: Andi Kleen @ 2012-09-28  4:31 UTC (permalink / raw)
  To: linux-kernel; +Cc: x86, a.p.zijlstra, eranian, acme

This adds perf PMU support for the upcoming Haswell core. The patchkit 
is fairly large, mainly due to various enhancement for TSX. TSX tuning
relies heavily on the PMU, so I tried hard to make all facilities 
easily available. In addition it also has some other enhancements.

This includes changes to the core perf code, to the x86 specific part,
to the perf user land tools and to KVM

High level overview:

- Basic Haswell PMU support
- Easy high level TSX measurement in perf stat -T
- Generic transactional memory events, plus Haswell implementations.
- Generic weightend profiling for memory latency and transaction abort costs.
- Support for address profiling
- Support for filtering events inside/outside transactions
- KVM support to do this from guests
- Support for filtering/sorting/bucketing transaction abort types based on 
PEBS information
- LBR support for transactions

For more details on the Haswell PMU please see the SDM. For more details on TSX
please see http://halobates.de/adding-lock-elision-to-linux.pdf

Review appreciated.

-Andi


^ permalink raw reply	[flat|nested] 38+ messages in thread

end of thread, other threads:[~2012-10-04  9:11 UTC | newest]

Thread overview: 38+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-10-02 23:48 perf PMU support for Haswell v2 Andi Kleen
2012-10-02 23:48 ` [PATCH 01/31] perf, x86: Add PEBSv2 record support Andi Kleen
2012-10-02 23:48 ` [PATCH 02/31] perf, x86: Basic Haswell PMU support v2 Andi Kleen
2012-10-02 23:48 ` [PATCH 03/31] perf, x86: Basic Haswell PEBS support Andi Kleen
2012-10-02 23:48 ` [PATCH 04/31] perf, x86: Support the TSX intx/intx_cp qualifiers Andi Kleen
2012-10-02 23:48 ` [PATCH 05/31] perf, x86: Report PEBS event in a raw format Andi Kleen
2012-10-02 23:48 ` [PATCH 06/31] perf, kvm: Support the intx/intx_cp modifiers in KVM arch perfmon emulation Andi Kleen
2012-10-03 10:27   ` Avi Kivity
2012-10-03 12:11     ` Andi Kleen
2012-10-03 12:54       ` Avi Kivity
2012-10-04  9:10   ` [06/31] " Gleb Natapov
2012-10-02 23:48 ` [PATCH 07/31] perf, x86: Support PERF_SAMPLE_ADDR on Haswell Andi Kleen
2012-10-02 23:48 ` [PATCH 08/31] perf, x86: Support Haswell v4 LBR format Andi Kleen
2012-10-02 23:48 ` [PATCH 09/31] perf, x86: Disable LBR recording for unknown LBR_FMT Andi Kleen
2012-10-02 23:48 ` [PATCH 10/31] perf, x86: Support LBR filtering by INTX/NOTX/ABORT Andi Kleen
2012-10-02 23:48 ` [PATCH 11/31] perf, tools: Add abort,notx,intx branch filter options to perf report -j Andi Kleen
2012-10-02 23:48 ` [PATCH 12/31] perf, tools: Support sorting by intx, abort branch flags Andi Kleen
2012-10-02 23:48 ` [PATCH 13/31] perf, x86: Support full width counting on Haswell Andi Kleen
2012-10-02 23:48 ` [PATCH 14/31] perf, x86: Avoid checkpointed counters causing excessive TSX aborts Andi Kleen
2012-10-02 23:48 ` [PATCH 15/31] perf, core: Add a concept of a weightened sample Andi Kleen
2012-10-02 23:48 ` [PATCH 16/31] perf, x86: Support weight samples for PEBS Andi Kleen
2012-10-02 23:48 ` [PATCH 17/31] perf, tools: Add support for weight Andi Kleen
2012-10-02 23:48 ` [PATCH 18/31] perf, tools: Handle XBEGIN like a jump Andi Kleen
2012-10-02 23:48 ` [PATCH 19/31] perf, x86: Support for printing PMU state on spurious PMIs v2 Andi Kleen
2012-10-02 23:48 ` [PATCH 20/31] perf, core: Add generic transaction flags Andi Kleen
2012-10-02 23:48 ` [PATCH 21/31] perf, x86: Add Haswell specific transaction flag reporting Andi Kleen
2012-10-02 23:48 ` [PATCH 22/31] perf, tools: Add support for record transaction flags Andi Kleen
2012-10-02 23:48 ` [PATCH 23/31] perf, tools: Point --sort documentation to --help Andi Kleen
2012-10-02 23:48 ` [PATCH 24/31] perf, tools: Add browser support for transaction flags Andi Kleen
2012-10-02 23:48 ` [PATCH 25/31] perf, tools: Move parse_events error printing to parse_events_options Andi Kleen
2012-10-02 23:48 ` [PATCH 26/31] perf, tools: Support events with - in the name Andi Kleen
2012-10-02 23:48 ` [PATCH 27/31] perf, x86: Report the arch perfmon events in sysfs Andi Kleen
2012-10-02 23:48 ` [PATCH 28/31] tools, perf: Add a precise event qualifier Andi Kleen
2012-10-02 23:48 ` [PATCH 29/31] perf, x86: Add Haswell TSX event aliases Andi Kleen
2012-10-02 23:48 ` [PATCH 30/31] perf, tools: Add perf stat --transaction Andi Kleen
2012-10-02 23:48 ` [PATCH 31/31] perf, x86: Add a Haswell precise instructions event Andi Kleen
  -- strict thread matches above, loose matches on Subject: below --
2012-09-28  4:31 perf PMU support for Haswell Andi Kleen
2012-09-28  4:31 ` [PATCH 03/31] perf, x86: Basic Haswell PEBS support Andi Kleen
2012-09-28  8:50   ` Peter Zijlstra

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).