public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Andi Kleen <andi@firstfloor.org>
To: acme@kernel.org
Cc: jolsa@kernel.org, linux-kernel@vger.kernel.org
Subject: Support Intel uncore event lists
Date: Fri, 27 Jan 2017 18:03:35 -0800	[thread overview]
Message-ID: <20170128020345.19007-1-andi@firstfloor.org> (raw)

This adds uncore support on top of the recently merged JSON event list
infrastructure for core events. Uncore is everything outside the core,
including memory controllers, PCI, interconnect etc.

Uncore is more complicated to handle than core events because it uses
many duplicated PMUs, which leads to long event lists and verbose duplicated
outputs. 

In fact previously it was nearly unusable for many cases without special 
tools to generate event list and aggregate data (such as 
https://github.com/andikleen/pmu-tools/tree/master/ucevent)

With this patchkit we add:
- Basic support for uncore events in JSON events
- Support aliases that get duplicated over many PMUs transparently
- Support summing up duplicated PMUs per socket
- Support extending the perf stat builtin metrics with simple expressions
specified in the event list.

So far mainly servers are supported. Also this is not using full event lists
(which are full of very obscure events) but only for a smaller subset of
curated useful and understandable metrics.

The actual event lists are not posted, but available at
git://git.kernel.org/pub/scm/linux/kernel/git/ak/linux-misc perf/intel-uncore-json-files-3

The code is available here
git://git.kernel.org/pub/scm/linux/kernel/git/ak/linux-misc perf/builtin-json-25

v1: Initial post
v2: Address review feedback. See changelog in commits.
v3: Repost. Rebase to latest tree.
v4: Rebase. Change DividedBy to generic simple expression parser.
Fix refactoring problem that broke git bisect.
v5: Address review feedback. See changelog in commits. Add acks.

-Andi

             reply	other threads:[~2017-01-28  2:04 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-01-28  2:03 Andi Kleen [this message]
2017-01-28  2:03 ` [PATCH 01/10] perf, tools: Parse eventcode as number in jevents Andi Kleen
2017-02-10  7:41   ` [tip:perf/core] perf jevents: Parse eventcode as number tip-bot for Andi Kleen
2017-01-28  2:03 ` [PATCH 02/10] perf, tools: Add support for parsing uncore json files Andi Kleen
2017-02-10  7:41   ` [tip:perf/core] perf jevents: " tip-bot for Andi Kleen
2017-01-28  2:03 ` [PATCH 03/10] perf, tools: Support per pmu json aliases Andi Kleen
2017-02-10  7:42   ` [tip:perf/core] perf pmu: " tip-bot for Andi Kleen
2017-01-28  2:03 ` [PATCH 04/10] perf, tools: Support event aliases for non cpu// pmus Andi Kleen
2017-02-10  7:42   ` [tip:perf/core] perf pmu: " tip-bot for Andi Kleen
2017-01-28  2:03 ` [PATCH 05/10] perf, tools: Add debug support for outputing alias string Andi Kleen
2017-02-10  7:43   ` [tip:perf/core] perf list: " tip-bot for Andi Kleen
2017-01-28  2:03 ` [PATCH 06/10] perf, tools: Collapse identically named events in perf stat Andi Kleen
2017-02-08 11:31   ` Jiri Olsa
2017-01-28  2:03 ` [PATCH 07/10] perf, tools: Expand PMU events by prefix match Andi Kleen
2017-02-08 11:30   ` Jiri Olsa
2017-01-28  2:03 ` [PATCH 08/10] perf, tools: Add a simple expression parser for JSON Andi Kleen
2017-02-08 11:31   ` Jiri Olsa
2017-01-28  2:03 ` [PATCH 09/10] perf, tools: Support MetricExpr header in JSON event list Andi Kleen
2017-02-08 11:31   ` Jiri Olsa
2017-01-28  2:03 ` [PATCH 10/10] perf, tools, stat: Output JSON MetricExpr metric Andi Kleen
2017-02-08 11:31   ` Jiri Olsa
2017-02-08 21:51     ` Andi Kleen
2017-02-09 11:39       ` Jiri Olsa
2017-02-09 17:00         ` Andi Kleen
2017-02-09 18:37           ` Jiri Olsa
2017-02-09 18:59             ` Andi Kleen
2017-02-10  8:22               ` Jiri Olsa
2017-02-09 11:42       ` Jiri Olsa
  -- strict thread matches above, loose matches on Subject: below --
2016-10-13 21:15 Support Intel uncore event lists Andi Kleen
2016-10-17 10:58 ` Jiri Olsa

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20170128020345.19007-1-andi@firstfloor.org \
    --to=andi@firstfloor.org \
    --cc=acme@kernel.org \
    --cc=jolsa@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox