Re: [GIT PULL 00/22] perf/core improvements and fixes

2016-10-04 Thread Ingo Molnar

* Arnaldo Carvalho de Melo  wrote:

> Hi Ingo,
> 
>   Please consider pulling,
> 
> - Arnaldo
> 
> Build and test stats at the end of the message.
> 
> The following changes since commit 41aad2a6d4fcdda8d73c9739daf7a9f3f49499d6:
> 
>   Merge tag 'perf-core-for-mingo-20160929' of 
> git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core 
> (2016-09-29 19:09:58 +0200)
> 
> are available in the git repository at:
> 
>   git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git 
> tags/perf-core-for-mingo-20161003
> 
> for you to fetch changes up to b42c7369e3f451e22c2b0be5d193955498d37546:
> 
>   perf pmu-events: Add Skylake frontend MSR support (2016-10-03 21:52:01 
> -0300)
> 
> 
> perf/core improvements and fixes:
> 
> - Allow vendors to provide JSON files describing PMU events, that then
>   get parsed to generate C tables that are linked against perf, allowing
>   the use of the names in their documentations, such as:
> 
>   # perf list l1d
> 
>   List of pre-defined events (to be used in -e):
> 
>   Cache:
> l1d.replacement
>  [L1D data line replacements]
> l1d_pend_miss.fb_full
>  [Cycles a demand request was blocked due to Fill Buffers 
> inavailability]
> l1d_pend_miss.pending
>  [L1D miss oustandings duration in cycles]
> l1d_pend_miss.pending_cycles
>  [Cycles with L1D load Misses outstanding]
> l1d_pend_miss.pending_cycles_any
>  [Cycles with L1D load Misses outstanding from any thread on physical 
> core]
> l2_trans.l1d_wb
>  [L1D writebacks that access L2 cache]
> 
>   Pipeline:
> cycle_activity.cycles_l1d_miss
>  [Cycles while L1 cache miss demand load is outstanding]
> cycle_activity.cycles_l1d_pending
>  [Cycles while L1 cache miss demand load is outstanding]
> cycle_activity.stalls_l1d_miss
>  [Execution stalls while L1 cache miss demand load is outstanding]
> cycle_activity.stalls_l1d_pending
>  [Execution stalls while L1 cache miss demand load is outstanding]
> 
>   The above example was done on a Broadwell based ThinkPad t450s after
>   downloading and installing such JSON files which will be added to the
>   tools/perf/pmu-events/ directory in a subsequent patchkit.
> 
>   Now one can use those names with -e/--event in all 'perf tools'.
>   (Andi Kleen, Sukadev Bhattiprolu)
> 
> - Add a missing pointer dereference in 'perf probe' (Colin Ian King)
> 
> - Add support for building host programs to be used in generating files
>   to be used in the build process, such as fixdep and jevents, fixing
>   the usage of these features in a cross compilation setup (Jiri Olsa)
> 
> Signed-off-by: Arnaldo Carvalho de Melo 
> 
> 
> Andi Kleen (12):
>   perf tools: Add jsmn `jasmine' JSON parser
>   perf jevents: Program to convert JSON file
>   perf tools: Support CPU id matching for x86 v2
>   perf jevents: Handle header line in mapfile
>   perf pmu: Support alias descriptions
>   perf tools: Query terminal width and use in perf list
>   perf list: Add a --no-desc flag
>   perf pmu: Add override support for event list CPUID
>   perf list jevents: Add support for event list topics
>   perf tools: Make alias matching case-insensitive
>   perf pmu-events: Fix fixed counters on Intel
>   perf pmu-events: Add Skylake frontend MSR support
> 
> Arnaldo Carvalho de Melo (1):
>   perf tools: Experiment with cppcheck
> 
> Colin Ian King (1):
>   perf probe: Check if *ptr2 is zero and not ptr2
> 
> Jiri Olsa (2):
>   tools build: Add support for host programs format
>   tools build: Make fixdep a hostprog
> 
> Sukadev Bhattiprolu (6):
>   perf pmu: Use pmu_events table to create aliases
>   perf powerpc: Support CPU ID matching for Powerpc
>   perf jevents: Add support for long descriptions
>   perf list: Support long jevents descriptions
>   perf tools: Add README for info on parsing JSON/map files
>   perf tools: Allow period= in perf stat CPU event descriptions.
> 
>  tools/build/Build  |   2 +
>  tools/build/Build.include  |   5 +
>  tools/build/Makefile   |   8 +-
>  tools/build/Makefile.build |  19 +-
>  tools/build/Makefile.include   |   4 -
>  tools/lib/subcmd/pager.c   |  16 +
>  tools/lib/subcmd/pager.h   |   1 +
>  tools/perf/Documentation/perf-list.txt |  12 +-
>  tools/perf/Makefile.perf   |  34 +-
>  tools/perf/arch/powerpc/util/header.c  |  11 +
>  tools/perf/arch/x86/util/header.c  |  24 +-
>  tools/perf/builtin-list.c  |  20 +-
>  tools/perf/pmu-events/Build|  13 +
>  tools/perf/pmu-events/README   | 147 ++
>  tools/perf/pmu-events/jevents.c| 812 
> 

[GIT PULL 00/22] perf/core improvements and fixes

2016-10-03 Thread Arnaldo Carvalho de Melo
Hi Ingo,

Please consider pulling,

- Arnaldo

Build and test stats at the end of the message.

The following changes since commit 41aad2a6d4fcdda8d73c9739daf7a9f3f49499d6:

  Merge tag 'perf-core-for-mingo-20160929' of 
git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core 
(2016-09-29 19:09:58 +0200)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git 
tags/perf-core-for-mingo-20161003

for you to fetch changes up to b42c7369e3f451e22c2b0be5d193955498d37546:

  perf pmu-events: Add Skylake frontend MSR support (2016-10-03 21:52:01 -0300)


perf/core improvements and fixes:

- Allow vendors to provide JSON files describing PMU events, that then
  get parsed to generate C tables that are linked against perf, allowing
  the use of the names in their documentations, such as:

  # perf list l1d

  List of pre-defined events (to be used in -e):

  Cache:
l1d.replacement
 [L1D data line replacements]
l1d_pend_miss.fb_full
 [Cycles a demand request was blocked due to Fill Buffers 
inavailability]
l1d_pend_miss.pending
 [L1D miss oustandings duration in cycles]
l1d_pend_miss.pending_cycles
 [Cycles with L1D load Misses outstanding]
l1d_pend_miss.pending_cycles_any
 [Cycles with L1D load Misses outstanding from any thread on physical 
core]
l2_trans.l1d_wb
 [L1D writebacks that access L2 cache]

  Pipeline:
cycle_activity.cycles_l1d_miss
 [Cycles while L1 cache miss demand load is outstanding]
cycle_activity.cycles_l1d_pending
 [Cycles while L1 cache miss demand load is outstanding]
cycle_activity.stalls_l1d_miss
 [Execution stalls while L1 cache miss demand load is outstanding]
cycle_activity.stalls_l1d_pending
 [Execution stalls while L1 cache miss demand load is outstanding]

  The above example was done on a Broadwell based ThinkPad t450s after
  downloading and installing such JSON files which will be added to the
  tools/perf/pmu-events/ directory in a subsequent patchkit.

  Now one can use those names with -e/--event in all 'perf tools'.
  (Andi Kleen, Sukadev Bhattiprolu)

- Add a missing pointer dereference in 'perf probe' (Colin Ian King)

- Add support for building host programs to be used in generating files
  to be used in the build process, such as fixdep and jevents, fixing
  the usage of these features in a cross compilation setup (Jiri Olsa)

Signed-off-by: Arnaldo Carvalho de Melo 


Andi Kleen (12):
  perf tools: Add jsmn `jasmine' JSON parser
  perf jevents: Program to convert JSON file
  perf tools: Support CPU id matching for x86 v2
  perf jevents: Handle header line in mapfile
  perf pmu: Support alias descriptions
  perf tools: Query terminal width and use in perf list
  perf list: Add a --no-desc flag
  perf pmu: Add override support for event list CPUID
  perf list jevents: Add support for event list topics
  perf tools: Make alias matching case-insensitive
  perf pmu-events: Fix fixed counters on Intel
  perf pmu-events: Add Skylake frontend MSR support

Arnaldo Carvalho de Melo (1):
  perf tools: Experiment with cppcheck

Colin Ian King (1):
  perf probe: Check if *ptr2 is zero and not ptr2

Jiri Olsa (2):
  tools build: Add support for host programs format
  tools build: Make fixdep a hostprog

Sukadev Bhattiprolu (6):
  perf pmu: Use pmu_events table to create aliases
  perf powerpc: Support CPU ID matching for Powerpc
  perf jevents: Add support for long descriptions
  perf list: Support long jevents descriptions
  perf tools: Add README for info on parsing JSON/map files
  perf tools: Allow period= in perf stat CPU event descriptions.

 tools/build/Build  |   2 +
 tools/build/Build.include  |   5 +
 tools/build/Makefile   |   8 +-
 tools/build/Makefile.build |  19 +-
 tools/build/Makefile.include   |   4 -
 tools/lib/subcmd/pager.c   |  16 +
 tools/lib/subcmd/pager.h   |   1 +
 tools/perf/Documentation/perf-list.txt |  12 +-
 tools/perf/Makefile.perf   |  34 +-
 tools/perf/arch/powerpc/util/header.c  |  11 +
 tools/perf/arch/x86/util/header.c  |  24 +-
 tools/perf/builtin-list.c  |  20 +-
 tools/perf/pmu-events/Build|  13 +
 tools/perf/pmu-events/README   | 147 ++
 tools/perf/pmu-events/jevents.c| 812 +
 tools/perf/pmu-events/jevents.h|  18 +
 tools/perf/pmu-events/jsmn.c   | 313 +
 tools/perf/pmu-events/jsmn.h   |  67 +++
 tools/perf/pmu-events/json.c   | 162 +++
 tools/perf/pmu-events/json.h   |  38 ++