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

2017-03-27 Thread Ingo Molnar

* Arnaldo Carvalho de Melo  wrote:

> Hi Ingo,
> 
>   Please consider pulling,
> 
> - Arnaldo
> 
> Test results at the end of this message, as usual.
> 
> The following changes since commit e3a6a62400520452fe39740dca90a1d0b94b8f92:
> 
>   Merge tag 'perf-core-for-mingo-4.12-20170324' of 
> git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core 
> (2017-03-24 19:37:40 +0100)
> 
> are available in the git repository at:
> 
>   git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git 
> tags/perf-core-for-mingo-4.12-20170327
> 
> for you to fetch changes up to 55f77128e7652e537d6c226d5b56821cdb5c22de:
> 
>   perf utils: Readlink /proc/self/exe to find the perf binary (2017-03-27 
> 15:37:54 -0300)
> 
> 
> perf/core improvements and fixes:
> 
> New features:
> 
> - Handle inline functions in callchains (Jin Yao)
> 
> - Enable sorting by srcline as key (Milian Wolff)
> 
> Fixes:
> 
> - Fix no_size logic in addr_filter__resolve_kernel_syms() in the
>   auxtrace code (Adrian Hunter)
> 
> - Fix some thread refcount leaks in 'perf trace' (Arnaldo Carvalho de Melo)
> 
> - Fix divide by zero when calculating percent for an event in a group in
>   the annotate by source line code (Taeung Song)
> 
> - build-id files now aren't anymore symlinks, their parent directories
>   are, so readlink the later (Taeung Song)
> 
> - Assorted fixes for null termination problems, mostly related to
>   readlink, detected by valgrind (Tommi Rantala)
> 
> Infrastructure:
> 
> - Make vfs_getname probe point logic in 'perf trace' more robust
>   wrt length of pathname (Arnaldo Carvalho de Melo)
> 
> - Remove unused 'prefix' parameter from builtins main functions (Arnaldo 
> Carvalho de Melo)
> 
> - Show 'perf list sdt' option in man page (Ravi Bangoria)
> 
> Signed-off-by: Arnaldo Carvalho de Melo 
> 
> 
> Adrian Hunter (1):
>   perf auxtrace: Fix no_size logic in addr_filter__resolve_kernel_syms()
> 
> Arnaldo Carvalho de Melo (4):
>   perf trace: Check for vfs_getname.pathname length
>   perf trace: Fix up error path indentation
>   perf trace: Fixup thread refcounting
>   perf tools: Remove unused 'prefix' from builtin functions
> 
> Jin Yao (5):
>   perf report: Refactor common code in srcline.c
>   perf report: Find the inline stack for a given address
>   perf report: Introduce --inline option
>   perf report: Show inline stack for stdio mode
>   perf report: Show inline stack for browser mode
> 
> Milian Wolff (1):
>   perf report: Enable sorting by srcline as key
> 
> Ravi Bangoria (1):
>   perf list sdt: Show option in man page
> 
> Taeung Song (2):
>   perf annotate: Fix a bug following symbolic link of a build-id file
>   perf annotate: Fix a bug of division by zero when calculating percent
> 
> Tommi Rantala (6):
>   perf buildid: Do not update SDT cache with null filename
>   perf buildid: Do not assume that readlink() returns a null terminated 
> string
>   perf tests: Do not assume that readlink() returns a null terminated 
> string
>   perf utils: use sizeof(buf) - 1 in readlink() call
>   perf utils: Null terminate buf in read_ftrace_printk()
>   perf utils: Readlink /proc/self/exe to find the perf binary
> 
>  tools/perf/Documentation/perf-list.txt   |   4 +-
>  tools/perf/Documentation/perf-report.txt |   5 +
>  tools/perf/bench/bench.h |  20 +--
>  tools/perf/bench/futex-hash.c|   3 +-
>  tools/perf/bench/futex-lock-pi.c |   3 +-
>  tools/perf/bench/futex-requeue.c |   3 +-
>  tools/perf/bench/futex-wake-parallel.c   |   3 +-
>  tools/perf/bench/futex-wake.c|   3 +-
>  tools/perf/bench/mem-functions.c |   4 +-
>  tools/perf/bench/numa.c  |   2 +-
>  tools/perf/bench/sched-messaging.c   |   3 +-
>  tools/perf/bench/sched-pipe.c|   2 +-
>  tools/perf/builtin-annotate.c|   2 +-
>  tools/perf/builtin-bench.c   |  12 +-
>  tools/perf/builtin-buildid-cache.c   |   3 +-
>  tools/perf/builtin-buildid-list.c|   3 +-
>  tools/perf/builtin-c2c.c |   4 +-
>  tools/perf/builtin-config.c  |   2 +-
>  tools/perf/builtin-data.c|   9 +-
>  tools/perf/builtin-diff.c|   2 +-
>  tools/perf/builtin-evlist.c  |   2 +-
>  tools/perf/builtin-ftrace.c  |   2 +-
>  tools/perf/builtin-help.c|   2 +-
>  tools/perf/builtin-inject.c  |   2 +-
>  tools/perf/builtin-kallsyms.c|   2 +-
>  tools/perf/builtin-kmem.c|   4 +-
>  tools/perf/builtin-kvm.c |  16 +-
>  tools/perf/builtin-list.c|   2 +-
>  tools/perf/builtin-lock.c|   6 +-
>  tools/perf/builtin-mem.c 

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

2017-03-27 Thread Ingo Molnar

* Arnaldo Carvalho de Melo  wrote:

> Hi Ingo,
> 
>   Please consider pulling,
> 
> - Arnaldo
> 
> Test results at the end of this message, as usual.
> 
> The following changes since commit e3a6a62400520452fe39740dca90a1d0b94b8f92:
> 
>   Merge tag 'perf-core-for-mingo-4.12-20170324' of 
> git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core 
> (2017-03-24 19:37:40 +0100)
> 
> are available in the git repository at:
> 
>   git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git 
> tags/perf-core-for-mingo-4.12-20170327
> 
> for you to fetch changes up to 55f77128e7652e537d6c226d5b56821cdb5c22de:
> 
>   perf utils: Readlink /proc/self/exe to find the perf binary (2017-03-27 
> 15:37:54 -0300)
> 
> 
> perf/core improvements and fixes:
> 
> New features:
> 
> - Handle inline functions in callchains (Jin Yao)
> 
> - Enable sorting by srcline as key (Milian Wolff)
> 
> Fixes:
> 
> - Fix no_size logic in addr_filter__resolve_kernel_syms() in the
>   auxtrace code (Adrian Hunter)
> 
> - Fix some thread refcount leaks in 'perf trace' (Arnaldo Carvalho de Melo)
> 
> - Fix divide by zero when calculating percent for an event in a group in
>   the annotate by source line code (Taeung Song)
> 
> - build-id files now aren't anymore symlinks, their parent directories
>   are, so readlink the later (Taeung Song)
> 
> - Assorted fixes for null termination problems, mostly related to
>   readlink, detected by valgrind (Tommi Rantala)
> 
> Infrastructure:
> 
> - Make vfs_getname probe point logic in 'perf trace' more robust
>   wrt length of pathname (Arnaldo Carvalho de Melo)
> 
> - Remove unused 'prefix' parameter from builtins main functions (Arnaldo 
> Carvalho de Melo)
> 
> - Show 'perf list sdt' option in man page (Ravi Bangoria)
> 
> Signed-off-by: Arnaldo Carvalho de Melo 
> 
> 
> Adrian Hunter (1):
>   perf auxtrace: Fix no_size logic in addr_filter__resolve_kernel_syms()
> 
> Arnaldo Carvalho de Melo (4):
>   perf trace: Check for vfs_getname.pathname length
>   perf trace: Fix up error path indentation
>   perf trace: Fixup thread refcounting
>   perf tools: Remove unused 'prefix' from builtin functions
> 
> Jin Yao (5):
>   perf report: Refactor common code in srcline.c
>   perf report: Find the inline stack for a given address
>   perf report: Introduce --inline option
>   perf report: Show inline stack for stdio mode
>   perf report: Show inline stack for browser mode
> 
> Milian Wolff (1):
>   perf report: Enable sorting by srcline as key
> 
> Ravi Bangoria (1):
>   perf list sdt: Show option in man page
> 
> Taeung Song (2):
>   perf annotate: Fix a bug following symbolic link of a build-id file
>   perf annotate: Fix a bug of division by zero when calculating percent
> 
> Tommi Rantala (6):
>   perf buildid: Do not update SDT cache with null filename
>   perf buildid: Do not assume that readlink() returns a null terminated 
> string
>   perf tests: Do not assume that readlink() returns a null terminated 
> string
>   perf utils: use sizeof(buf) - 1 in readlink() call
>   perf utils: Null terminate buf in read_ftrace_printk()
>   perf utils: Readlink /proc/self/exe to find the perf binary
> 
>  tools/perf/Documentation/perf-list.txt   |   4 +-
>  tools/perf/Documentation/perf-report.txt |   5 +
>  tools/perf/bench/bench.h |  20 +--
>  tools/perf/bench/futex-hash.c|   3 +-
>  tools/perf/bench/futex-lock-pi.c |   3 +-
>  tools/perf/bench/futex-requeue.c |   3 +-
>  tools/perf/bench/futex-wake-parallel.c   |   3 +-
>  tools/perf/bench/futex-wake.c|   3 +-
>  tools/perf/bench/mem-functions.c |   4 +-
>  tools/perf/bench/numa.c  |   2 +-
>  tools/perf/bench/sched-messaging.c   |   3 +-
>  tools/perf/bench/sched-pipe.c|   2 +-
>  tools/perf/builtin-annotate.c|   2 +-
>  tools/perf/builtin-bench.c   |  12 +-
>  tools/perf/builtin-buildid-cache.c   |   3 +-
>  tools/perf/builtin-buildid-list.c|   3 +-
>  tools/perf/builtin-c2c.c |   4 +-
>  tools/perf/builtin-config.c  |   2 +-
>  tools/perf/builtin-data.c|   9 +-
>  tools/perf/builtin-diff.c|   2 +-
>  tools/perf/builtin-evlist.c  |   2 +-
>  tools/perf/builtin-ftrace.c  |   2 +-
>  tools/perf/builtin-help.c|   2 +-
>  tools/perf/builtin-inject.c  |   2 +-
>  tools/perf/builtin-kallsyms.c|   2 +-
>  tools/perf/builtin-kmem.c|   4 +-
>  tools/perf/builtin-kvm.c |  16 +-
>  tools/perf/builtin-list.c|   2 +-
>  tools/perf/builtin-lock.c|   6 +-
>  tools/perf/builtin-mem.c |   6 +-
>  

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

2017-03-27 Thread Arnaldo Carvalho de Melo
Hi Ingo,

Please consider pulling,

- Arnaldo

Test results at the end of this message, as usual.

The following changes since commit e3a6a62400520452fe39740dca90a1d0b94b8f92:

  Merge tag 'perf-core-for-mingo-4.12-20170324' of 
git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core 
(2017-03-24 19:37:40 +0100)

are available in the git repository at:

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

for you to fetch changes up to 55f77128e7652e537d6c226d5b56821cdb5c22de:

  perf utils: Readlink /proc/self/exe to find the perf binary (2017-03-27 
15:37:54 -0300)


perf/core improvements and fixes:

New features:

- Handle inline functions in callchains (Jin Yao)

- Enable sorting by srcline as key (Milian Wolff)

Fixes:

- Fix no_size logic in addr_filter__resolve_kernel_syms() in the
  auxtrace code (Adrian Hunter)

- Fix some thread refcount leaks in 'perf trace' (Arnaldo Carvalho de Melo)

- Fix divide by zero when calculating percent for an event in a group in
  the annotate by source line code (Taeung Song)

- build-id files now aren't anymore symlinks, their parent directories
  are, so readlink the later (Taeung Song)

- Assorted fixes for null termination problems, mostly related to
  readlink, detected by valgrind (Tommi Rantala)

Infrastructure:

- Make vfs_getname probe point logic in 'perf trace' more robust
  wrt length of pathname (Arnaldo Carvalho de Melo)

- Remove unused 'prefix' parameter from builtins main functions (Arnaldo 
Carvalho de Melo)

- Show 'perf list sdt' option in man page (Ravi Bangoria)

Signed-off-by: Arnaldo Carvalho de Melo 


Adrian Hunter (1):
  perf auxtrace: Fix no_size logic in addr_filter__resolve_kernel_syms()

Arnaldo Carvalho de Melo (4):
  perf trace: Check for vfs_getname.pathname length
  perf trace: Fix up error path indentation
  perf trace: Fixup thread refcounting
  perf tools: Remove unused 'prefix' from builtin functions

Jin Yao (5):
  perf report: Refactor common code in srcline.c
  perf report: Find the inline stack for a given address
  perf report: Introduce --inline option
  perf report: Show inline stack for stdio mode
  perf report: Show inline stack for browser mode

Milian Wolff (1):
  perf report: Enable sorting by srcline as key

Ravi Bangoria (1):
  perf list sdt: Show option in man page

Taeung Song (2):
  perf annotate: Fix a bug following symbolic link of a build-id file
  perf annotate: Fix a bug of division by zero when calculating percent

Tommi Rantala (6):
  perf buildid: Do not update SDT cache with null filename
  perf buildid: Do not assume that readlink() returns a null terminated 
string
  perf tests: Do not assume that readlink() returns a null terminated string
  perf utils: use sizeof(buf) - 1 in readlink() call
  perf utils: Null terminate buf in read_ftrace_printk()
  perf utils: Readlink /proc/self/exe to find the perf binary

 tools/perf/Documentation/perf-list.txt   |   4 +-
 tools/perf/Documentation/perf-report.txt |   5 +
 tools/perf/bench/bench.h |  20 +--
 tools/perf/bench/futex-hash.c|   3 +-
 tools/perf/bench/futex-lock-pi.c |   3 +-
 tools/perf/bench/futex-requeue.c |   3 +-
 tools/perf/bench/futex-wake-parallel.c   |   3 +-
 tools/perf/bench/futex-wake.c|   3 +-
 tools/perf/bench/mem-functions.c |   4 +-
 tools/perf/bench/numa.c  |   2 +-
 tools/perf/bench/sched-messaging.c   |   3 +-
 tools/perf/bench/sched-pipe.c|   2 +-
 tools/perf/builtin-annotate.c|   2 +-
 tools/perf/builtin-bench.c   |  12 +-
 tools/perf/builtin-buildid-cache.c   |   3 +-
 tools/perf/builtin-buildid-list.c|   3 +-
 tools/perf/builtin-c2c.c |   4 +-
 tools/perf/builtin-config.c  |   2 +-
 tools/perf/builtin-data.c|   9 +-
 tools/perf/builtin-diff.c|   2 +-
 tools/perf/builtin-evlist.c  |   2 +-
 tools/perf/builtin-ftrace.c  |   2 +-
 tools/perf/builtin-help.c|   2 +-
 tools/perf/builtin-inject.c  |   2 +-
 tools/perf/builtin-kallsyms.c|   2 +-
 tools/perf/builtin-kmem.c|   4 +-
 tools/perf/builtin-kvm.c |  16 +-
 tools/perf/builtin-list.c|   2 +-
 tools/perf/builtin-lock.c|   6 +-
 tools/perf/builtin-mem.c |   6 +-
 tools/perf/builtin-probe.c   |   6 +-
 tools/perf/builtin-record.c  |   2 +-
 tools/perf/builtin-report.c  |   4 +-
 tools/perf/builtin-sched.c   |   6 +-
 tools/perf/builtin-script.c  |   4 +-
 tools/perf/builtin-stat.c|  

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

2017-03-27 Thread Arnaldo Carvalho de Melo
Hi Ingo,

Please consider pulling,

- Arnaldo

Test results at the end of this message, as usual.

The following changes since commit e3a6a62400520452fe39740dca90a1d0b94b8f92:

  Merge tag 'perf-core-for-mingo-4.12-20170324' of 
git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core 
(2017-03-24 19:37:40 +0100)

are available in the git repository at:

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

for you to fetch changes up to 55f77128e7652e537d6c226d5b56821cdb5c22de:

  perf utils: Readlink /proc/self/exe to find the perf binary (2017-03-27 
15:37:54 -0300)


perf/core improvements and fixes:

New features:

- Handle inline functions in callchains (Jin Yao)

- Enable sorting by srcline as key (Milian Wolff)

Fixes:

- Fix no_size logic in addr_filter__resolve_kernel_syms() in the
  auxtrace code (Adrian Hunter)

- Fix some thread refcount leaks in 'perf trace' (Arnaldo Carvalho de Melo)

- Fix divide by zero when calculating percent for an event in a group in
  the annotate by source line code (Taeung Song)

- build-id files now aren't anymore symlinks, their parent directories
  are, so readlink the later (Taeung Song)

- Assorted fixes for null termination problems, mostly related to
  readlink, detected by valgrind (Tommi Rantala)

Infrastructure:

- Make vfs_getname probe point logic in 'perf trace' more robust
  wrt length of pathname (Arnaldo Carvalho de Melo)

- Remove unused 'prefix' parameter from builtins main functions (Arnaldo 
Carvalho de Melo)

- Show 'perf list sdt' option in man page (Ravi Bangoria)

Signed-off-by: Arnaldo Carvalho de Melo 


Adrian Hunter (1):
  perf auxtrace: Fix no_size logic in addr_filter__resolve_kernel_syms()

Arnaldo Carvalho de Melo (4):
  perf trace: Check for vfs_getname.pathname length
  perf trace: Fix up error path indentation
  perf trace: Fixup thread refcounting
  perf tools: Remove unused 'prefix' from builtin functions

Jin Yao (5):
  perf report: Refactor common code in srcline.c
  perf report: Find the inline stack for a given address
  perf report: Introduce --inline option
  perf report: Show inline stack for stdio mode
  perf report: Show inline stack for browser mode

Milian Wolff (1):
  perf report: Enable sorting by srcline as key

Ravi Bangoria (1):
  perf list sdt: Show option in man page

Taeung Song (2):
  perf annotate: Fix a bug following symbolic link of a build-id file
  perf annotate: Fix a bug of division by zero when calculating percent

Tommi Rantala (6):
  perf buildid: Do not update SDT cache with null filename
  perf buildid: Do not assume that readlink() returns a null terminated 
string
  perf tests: Do not assume that readlink() returns a null terminated string
  perf utils: use sizeof(buf) - 1 in readlink() call
  perf utils: Null terminate buf in read_ftrace_printk()
  perf utils: Readlink /proc/self/exe to find the perf binary

 tools/perf/Documentation/perf-list.txt   |   4 +-
 tools/perf/Documentation/perf-report.txt |   5 +
 tools/perf/bench/bench.h |  20 +--
 tools/perf/bench/futex-hash.c|   3 +-
 tools/perf/bench/futex-lock-pi.c |   3 +-
 tools/perf/bench/futex-requeue.c |   3 +-
 tools/perf/bench/futex-wake-parallel.c   |   3 +-
 tools/perf/bench/futex-wake.c|   3 +-
 tools/perf/bench/mem-functions.c |   4 +-
 tools/perf/bench/numa.c  |   2 +-
 tools/perf/bench/sched-messaging.c   |   3 +-
 tools/perf/bench/sched-pipe.c|   2 +-
 tools/perf/builtin-annotate.c|   2 +-
 tools/perf/builtin-bench.c   |  12 +-
 tools/perf/builtin-buildid-cache.c   |   3 +-
 tools/perf/builtin-buildid-list.c|   3 +-
 tools/perf/builtin-c2c.c |   4 +-
 tools/perf/builtin-config.c  |   2 +-
 tools/perf/builtin-data.c|   9 +-
 tools/perf/builtin-diff.c|   2 +-
 tools/perf/builtin-evlist.c  |   2 +-
 tools/perf/builtin-ftrace.c  |   2 +-
 tools/perf/builtin-help.c|   2 +-
 tools/perf/builtin-inject.c  |   2 +-
 tools/perf/builtin-kallsyms.c|   2 +-
 tools/perf/builtin-kmem.c|   4 +-
 tools/perf/builtin-kvm.c |  16 +-
 tools/perf/builtin-list.c|   2 +-
 tools/perf/builtin-lock.c|   6 +-
 tools/perf/builtin-mem.c |   6 +-
 tools/perf/builtin-probe.c   |   6 +-
 tools/perf/builtin-record.c  |   2 +-
 tools/perf/builtin-report.c  |   4 +-
 tools/perf/builtin-sched.c   |   6 +-
 tools/perf/builtin-script.c  |   4 +-
 tools/perf/builtin-stat.c|   2 +-
 

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

2017-03-24 Thread Ingo Molnar

* Arnaldo Carvalho de Melo  wrote:

> Hi Ingo,
> 
>   Please consider pulling,
> 
> - Arnaldo
> 
> Test results at the end of this message, as usual.
> 
> The following changes since commit 267dd0a07eefbb37264fcfad984fffc8856898ad:
> 
>   Merge tag 'perf-core-for-mingo-4.12-20170320' of 
> git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core 
> (2017-03-21 07:41:29 +0100)
> 
> are available in the git repository at:
> 
>   git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git 
> tags/perf-core-for-mingo-4.12-20170324
> 
> for you to fetch changes up to bf874fcf9f2fed58510dc83abcee388cee2b427e:
> 
>   perf list: Move extra details printing to new option (2017-03-23 11:42:31 
> -0300)
> 
> 
> perf/core improvements and fixes:
> 
> User visible:
> 
> - Allow suppressing 'uncore_' when specifying PMU events (Andi Kleen)
> 
> - Collapse identically named PMU events in 'perf stat', allow
>   not merging it via --no-merge (Andi Kleen)
> 
> Fixes:
> 
> - Use more precise 'grep -v' to suppress unwanted 'objdump -dS'
>   disassembly output to not ditch line:number lines needed by
>   'perf annotate --print-lines' logic (Taeung Song)
> 
> Infrastructure:
> 
> - SDT (Statically Defined Tracing)/uprobes_events arguments improvements
>   (Alexis Berlemont, Ravi Bangoria)
> 
> - Improvements for the handling of JSON described vendor events,
>   including having an expression parser to calculate metrics
>   from multiple vendor events (Andi Kleen)
> 
> - Update Intel JSON vendor event files (Andi Kleen)
> 
> - Restore error reporting in 'perf probe -d' when none of the events
>   requested to be deleted exist. (Kefeng Wang)
> 
> - Bump MAX_CMDLEN in 'perf probe' to match what the kernel accepts
>   (Ravi Bangoria)
> 
> Signed-off-by: Arnaldo Carvalho de Melo 
> 
> 
> Alexis Berlemont (2):
>   perf sdt: Add scanning of sdt probes arguments
>   perf probe: Add sdt probes arguments into the uprobe cmd string
> 
> Andi Kleen (13):
>   perf stat: Factor out callback for collecting event values
>   perf stat: Collapse identically named events
>   perf stat: Handle partially bad results with merging
>   perf tools: Factor out PMU matching in parser
>   perf pmu: Expand PMU events by prefix match
>   perf pmu: Special case uncore_ prefix
>   perf tools: Add a simple expression parser for JSON
>   perf vendor events intel: Update Intel uncore JSON event files
>   perf pmu: Support MetricExpr header in JSON event list
>   perf stat: Output JSON MetricExpr metric
>   perf list: Support printing MetricExpr with --debug
>   perf pmu: Add support for MetricName JSON attribute
>   perf list: Move extra details printing to new option
> 
> Arnaldo Carvalho de Melo (1):
>   perf annotate: Add comment clarifying how the source code line is parsed
> 
> Kefeng Wang (1):
>   perf probe: Return errno when not hitting any event
> 
> Ravi Bangoria (2):
>   perf probe: Change MAX_CMDLEN
>   perf sdt x86: Add renaming logic for rNN and other registers
> 
> Taeung Song (1):
>   perf annotate: More exactly grep -v of the objdump command
> 
>  tools/perf/Documentation/perf-list.txt |   4 +
>  tools/perf/Documentation/perf-stat.txt |   3 +
>  tools/perf/arch/x86/util/perf_regs.c   | 103 +++
>  tools/perf/builtin-list.c  |  14 +-
>  tools/perf/builtin-probe.c |   6 +-
>  tools/perf/builtin-stat.c  | 146 ---
>  .../arch/x86/broadwellde/uncore-cache.json |  28 +--
>  .../arch/x86/broadwellde/uncore-memory.json|  26 ++-
>  .../arch/x86/broadwellde/uncore-power.json |  26 ++-
>  .../arch/x86/broadwellx/uncore-cache.json  |  28 +--
>  .../arch/x86/broadwellx/uncore-interconnect.json   |   6 +-
>  .../arch/x86/broadwellx/uncore-memory.json |  21 ++-
>  .../arch/x86/broadwellx/uncore-power.json  |  26 ++-
>  .../pmu-events/arch/x86/haswellx/uncore-cache.json |  28 +--
>  .../arch/x86/haswellx/uncore-interconnect.json |   6 +-
>  .../arch/x86/haswellx/uncore-memory.json   |  21 ++-
>  .../pmu-events/arch/x86/haswellx/uncore-power.json |  26 ++-
>  .../pmu-events/arch/x86/ivytown/uncore-cache.json  |  22 +--
>  .../arch/x86/ivytown/uncore-interconnect.json  |  12 +-
>  .../pmu-events/arch/x86/ivytown/uncore-memory.json |  19 +-
>  .../pmu-events/arch/x86/ivytown/uncore-power.json  |  53 --
>  .../pmu-events/arch/x86/jaketown/uncore-cache.json |  13 +-
>  .../arch/x86/jaketown/uncore-interconnect.json |  12 +-
>  .../arch/x86/jaketown/uncore-memory.json   |  21 ++-
>  .../pmu-events/arch/x86/jaketown/uncore-power.json |  53 --
>  tools/perf/pmu-events/jevents.c|  26 

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

2017-03-24 Thread Ingo Molnar

* Arnaldo Carvalho de Melo  wrote:

> Hi Ingo,
> 
>   Please consider pulling,
> 
> - Arnaldo
> 
> Test results at the end of this message, as usual.
> 
> The following changes since commit 267dd0a07eefbb37264fcfad984fffc8856898ad:
> 
>   Merge tag 'perf-core-for-mingo-4.12-20170320' of 
> git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core 
> (2017-03-21 07:41:29 +0100)
> 
> are available in the git repository at:
> 
>   git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git 
> tags/perf-core-for-mingo-4.12-20170324
> 
> for you to fetch changes up to bf874fcf9f2fed58510dc83abcee388cee2b427e:
> 
>   perf list: Move extra details printing to new option (2017-03-23 11:42:31 
> -0300)
> 
> 
> perf/core improvements and fixes:
> 
> User visible:
> 
> - Allow suppressing 'uncore_' when specifying PMU events (Andi Kleen)
> 
> - Collapse identically named PMU events in 'perf stat', allow
>   not merging it via --no-merge (Andi Kleen)
> 
> Fixes:
> 
> - Use more precise 'grep -v' to suppress unwanted 'objdump -dS'
>   disassembly output to not ditch line:number lines needed by
>   'perf annotate --print-lines' logic (Taeung Song)
> 
> Infrastructure:
> 
> - SDT (Statically Defined Tracing)/uprobes_events arguments improvements
>   (Alexis Berlemont, Ravi Bangoria)
> 
> - Improvements for the handling of JSON described vendor events,
>   including having an expression parser to calculate metrics
>   from multiple vendor events (Andi Kleen)
> 
> - Update Intel JSON vendor event files (Andi Kleen)
> 
> - Restore error reporting in 'perf probe -d' when none of the events
>   requested to be deleted exist. (Kefeng Wang)
> 
> - Bump MAX_CMDLEN in 'perf probe' to match what the kernel accepts
>   (Ravi Bangoria)
> 
> Signed-off-by: Arnaldo Carvalho de Melo 
> 
> 
> Alexis Berlemont (2):
>   perf sdt: Add scanning of sdt probes arguments
>   perf probe: Add sdt probes arguments into the uprobe cmd string
> 
> Andi Kleen (13):
>   perf stat: Factor out callback for collecting event values
>   perf stat: Collapse identically named events
>   perf stat: Handle partially bad results with merging
>   perf tools: Factor out PMU matching in parser
>   perf pmu: Expand PMU events by prefix match
>   perf pmu: Special case uncore_ prefix
>   perf tools: Add a simple expression parser for JSON
>   perf vendor events intel: Update Intel uncore JSON event files
>   perf pmu: Support MetricExpr header in JSON event list
>   perf stat: Output JSON MetricExpr metric
>   perf list: Support printing MetricExpr with --debug
>   perf pmu: Add support for MetricName JSON attribute
>   perf list: Move extra details printing to new option
> 
> Arnaldo Carvalho de Melo (1):
>   perf annotate: Add comment clarifying how the source code line is parsed
> 
> Kefeng Wang (1):
>   perf probe: Return errno when not hitting any event
> 
> Ravi Bangoria (2):
>   perf probe: Change MAX_CMDLEN
>   perf sdt x86: Add renaming logic for rNN and other registers
> 
> Taeung Song (1):
>   perf annotate: More exactly grep -v of the objdump command
> 
>  tools/perf/Documentation/perf-list.txt |   4 +
>  tools/perf/Documentation/perf-stat.txt |   3 +
>  tools/perf/arch/x86/util/perf_regs.c   | 103 +++
>  tools/perf/builtin-list.c  |  14 +-
>  tools/perf/builtin-probe.c |   6 +-
>  tools/perf/builtin-stat.c  | 146 ---
>  .../arch/x86/broadwellde/uncore-cache.json |  28 +--
>  .../arch/x86/broadwellde/uncore-memory.json|  26 ++-
>  .../arch/x86/broadwellde/uncore-power.json |  26 ++-
>  .../arch/x86/broadwellx/uncore-cache.json  |  28 +--
>  .../arch/x86/broadwellx/uncore-interconnect.json   |   6 +-
>  .../arch/x86/broadwellx/uncore-memory.json |  21 ++-
>  .../arch/x86/broadwellx/uncore-power.json  |  26 ++-
>  .../pmu-events/arch/x86/haswellx/uncore-cache.json |  28 +--
>  .../arch/x86/haswellx/uncore-interconnect.json |   6 +-
>  .../arch/x86/haswellx/uncore-memory.json   |  21 ++-
>  .../pmu-events/arch/x86/haswellx/uncore-power.json |  26 ++-
>  .../pmu-events/arch/x86/ivytown/uncore-cache.json  |  22 +--
>  .../arch/x86/ivytown/uncore-interconnect.json  |  12 +-
>  .../pmu-events/arch/x86/ivytown/uncore-memory.json |  19 +-
>  .../pmu-events/arch/x86/ivytown/uncore-power.json  |  53 --
>  .../pmu-events/arch/x86/jaketown/uncore-cache.json |  13 +-
>  .../arch/x86/jaketown/uncore-interconnect.json |  12 +-
>  .../arch/x86/jaketown/uncore-memory.json   |  21 ++-
>  .../pmu-events/arch/x86/jaketown/uncore-power.json |  53 --
>  tools/perf/pmu-events/jevents.c|  26 ++-
>  

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

2017-03-24 Thread Arnaldo Carvalho de Melo
Hi Ingo,

Please consider pulling,

- Arnaldo

Test results at the end of this message, as usual.

The following changes since commit 267dd0a07eefbb37264fcfad984fffc8856898ad:

  Merge tag 'perf-core-for-mingo-4.12-20170320' of 
git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core 
(2017-03-21 07:41:29 +0100)

are available in the git repository at:

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

for you to fetch changes up to bf874fcf9f2fed58510dc83abcee388cee2b427e:

  perf list: Move extra details printing to new option (2017-03-23 11:42:31 
-0300)


perf/core improvements and fixes:

User visible:

- Allow suppressing 'uncore_' when specifying PMU events (Andi Kleen)

- Collapse identically named PMU events in 'perf stat', allow
  not merging it via --no-merge (Andi Kleen)

Fixes:

- Use more precise 'grep -v' to suppress unwanted 'objdump -dS'
  disassembly output to not ditch line:number lines needed by
  'perf annotate --print-lines' logic (Taeung Song)

Infrastructure:

- SDT (Statically Defined Tracing)/uprobes_events arguments improvements
  (Alexis Berlemont, Ravi Bangoria)

- Improvements for the handling of JSON described vendor events,
  including having an expression parser to calculate metrics
  from multiple vendor events (Andi Kleen)

- Update Intel JSON vendor event files (Andi Kleen)

- Restore error reporting in 'perf probe -d' when none of the events
  requested to be deleted exist. (Kefeng Wang)

- Bump MAX_CMDLEN in 'perf probe' to match what the kernel accepts
  (Ravi Bangoria)

Signed-off-by: Arnaldo Carvalho de Melo 


Alexis Berlemont (2):
  perf sdt: Add scanning of sdt probes arguments
  perf probe: Add sdt probes arguments into the uprobe cmd string

Andi Kleen (13):
  perf stat: Factor out callback for collecting event values
  perf stat: Collapse identically named events
  perf stat: Handle partially bad results with merging
  perf tools: Factor out PMU matching in parser
  perf pmu: Expand PMU events by prefix match
  perf pmu: Special case uncore_ prefix
  perf tools: Add a simple expression parser for JSON
  perf vendor events intel: Update Intel uncore JSON event files
  perf pmu: Support MetricExpr header in JSON event list
  perf stat: Output JSON MetricExpr metric
  perf list: Support printing MetricExpr with --debug
  perf pmu: Add support for MetricName JSON attribute
  perf list: Move extra details printing to new option

Arnaldo Carvalho de Melo (1):
  perf annotate: Add comment clarifying how the source code line is parsed

Kefeng Wang (1):
  perf probe: Return errno when not hitting any event

Ravi Bangoria (2):
  perf probe: Change MAX_CMDLEN
  perf sdt x86: Add renaming logic for rNN and other registers

Taeung Song (1):
  perf annotate: More exactly grep -v of the objdump command

 tools/perf/Documentation/perf-list.txt |   4 +
 tools/perf/Documentation/perf-stat.txt |   3 +
 tools/perf/arch/x86/util/perf_regs.c   | 103 +++
 tools/perf/builtin-list.c  |  14 +-
 tools/perf/builtin-probe.c |   6 +-
 tools/perf/builtin-stat.c  | 146 ---
 .../arch/x86/broadwellde/uncore-cache.json |  28 +--
 .../arch/x86/broadwellde/uncore-memory.json|  26 ++-
 .../arch/x86/broadwellde/uncore-power.json |  26 ++-
 .../arch/x86/broadwellx/uncore-cache.json  |  28 +--
 .../arch/x86/broadwellx/uncore-interconnect.json   |   6 +-
 .../arch/x86/broadwellx/uncore-memory.json |  21 ++-
 .../arch/x86/broadwellx/uncore-power.json  |  26 ++-
 .../pmu-events/arch/x86/haswellx/uncore-cache.json |  28 +--
 .../arch/x86/haswellx/uncore-interconnect.json |   6 +-
 .../arch/x86/haswellx/uncore-memory.json   |  21 ++-
 .../pmu-events/arch/x86/haswellx/uncore-power.json |  26 ++-
 .../pmu-events/arch/x86/ivytown/uncore-cache.json  |  22 +--
 .../arch/x86/ivytown/uncore-interconnect.json  |  12 +-
 .../pmu-events/arch/x86/ivytown/uncore-memory.json |  19 +-
 .../pmu-events/arch/x86/ivytown/uncore-power.json  |  53 --
 .../pmu-events/arch/x86/jaketown/uncore-cache.json |  13 +-
 .../arch/x86/jaketown/uncore-interconnect.json |  12 +-
 .../arch/x86/jaketown/uncore-memory.json   |  21 ++-
 .../pmu-events/arch/x86/jaketown/uncore-power.json |  53 --
 tools/perf/pmu-events/jevents.c|  26 ++-
 tools/perf/pmu-events/jevents.h|   3 +-
 tools/perf/pmu-events/pmu-events.h |   2 +
 tools/perf/tests/Build |   1 +
 tools/perf/tests/builtin-test.c|   4 +
 tools/perf/tests/expr.c

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

2017-03-24 Thread Arnaldo Carvalho de Melo
Hi Ingo,

Please consider pulling,

- Arnaldo

Test results at the end of this message, as usual.

The following changes since commit 267dd0a07eefbb37264fcfad984fffc8856898ad:

  Merge tag 'perf-core-for-mingo-4.12-20170320' of 
git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core 
(2017-03-21 07:41:29 +0100)

are available in the git repository at:

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

for you to fetch changes up to bf874fcf9f2fed58510dc83abcee388cee2b427e:

  perf list: Move extra details printing to new option (2017-03-23 11:42:31 
-0300)


perf/core improvements and fixes:

User visible:

- Allow suppressing 'uncore_' when specifying PMU events (Andi Kleen)

- Collapse identically named PMU events in 'perf stat', allow
  not merging it via --no-merge (Andi Kleen)

Fixes:

- Use more precise 'grep -v' to suppress unwanted 'objdump -dS'
  disassembly output to not ditch line:number lines needed by
  'perf annotate --print-lines' logic (Taeung Song)

Infrastructure:

- SDT (Statically Defined Tracing)/uprobes_events arguments improvements
  (Alexis Berlemont, Ravi Bangoria)

- Improvements for the handling of JSON described vendor events,
  including having an expression parser to calculate metrics
  from multiple vendor events (Andi Kleen)

- Update Intel JSON vendor event files (Andi Kleen)

- Restore error reporting in 'perf probe -d' when none of the events
  requested to be deleted exist. (Kefeng Wang)

- Bump MAX_CMDLEN in 'perf probe' to match what the kernel accepts
  (Ravi Bangoria)

Signed-off-by: Arnaldo Carvalho de Melo 


Alexis Berlemont (2):
  perf sdt: Add scanning of sdt probes arguments
  perf probe: Add sdt probes arguments into the uprobe cmd string

Andi Kleen (13):
  perf stat: Factor out callback for collecting event values
  perf stat: Collapse identically named events
  perf stat: Handle partially bad results with merging
  perf tools: Factor out PMU matching in parser
  perf pmu: Expand PMU events by prefix match
  perf pmu: Special case uncore_ prefix
  perf tools: Add a simple expression parser for JSON
  perf vendor events intel: Update Intel uncore JSON event files
  perf pmu: Support MetricExpr header in JSON event list
  perf stat: Output JSON MetricExpr metric
  perf list: Support printing MetricExpr with --debug
  perf pmu: Add support for MetricName JSON attribute
  perf list: Move extra details printing to new option

Arnaldo Carvalho de Melo (1):
  perf annotate: Add comment clarifying how the source code line is parsed

Kefeng Wang (1):
  perf probe: Return errno when not hitting any event

Ravi Bangoria (2):
  perf probe: Change MAX_CMDLEN
  perf sdt x86: Add renaming logic for rNN and other registers

Taeung Song (1):
  perf annotate: More exactly grep -v of the objdump command

 tools/perf/Documentation/perf-list.txt |   4 +
 tools/perf/Documentation/perf-stat.txt |   3 +
 tools/perf/arch/x86/util/perf_regs.c   | 103 +++
 tools/perf/builtin-list.c  |  14 +-
 tools/perf/builtin-probe.c |   6 +-
 tools/perf/builtin-stat.c  | 146 ---
 .../arch/x86/broadwellde/uncore-cache.json |  28 +--
 .../arch/x86/broadwellde/uncore-memory.json|  26 ++-
 .../arch/x86/broadwellde/uncore-power.json |  26 ++-
 .../arch/x86/broadwellx/uncore-cache.json  |  28 +--
 .../arch/x86/broadwellx/uncore-interconnect.json   |   6 +-
 .../arch/x86/broadwellx/uncore-memory.json |  21 ++-
 .../arch/x86/broadwellx/uncore-power.json  |  26 ++-
 .../pmu-events/arch/x86/haswellx/uncore-cache.json |  28 +--
 .../arch/x86/haswellx/uncore-interconnect.json |   6 +-
 .../arch/x86/haswellx/uncore-memory.json   |  21 ++-
 .../pmu-events/arch/x86/haswellx/uncore-power.json |  26 ++-
 .../pmu-events/arch/x86/ivytown/uncore-cache.json  |  22 +--
 .../arch/x86/ivytown/uncore-interconnect.json  |  12 +-
 .../pmu-events/arch/x86/ivytown/uncore-memory.json |  19 +-
 .../pmu-events/arch/x86/ivytown/uncore-power.json  |  53 --
 .../pmu-events/arch/x86/jaketown/uncore-cache.json |  13 +-
 .../arch/x86/jaketown/uncore-interconnect.json |  12 +-
 .../arch/x86/jaketown/uncore-memory.json   |  21 ++-
 .../pmu-events/arch/x86/jaketown/uncore-power.json |  53 --
 tools/perf/pmu-events/jevents.c|  26 ++-
 tools/perf/pmu-events/jevents.h|   3 +-
 tools/perf/pmu-events/pmu-events.h |   2 +
 tools/perf/tests/Build |   1 +
 tools/perf/tests/builtin-test.c|   4 +
 tools/perf/tests/expr.c|  56 

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

2016-12-06 Thread Ingo Molnar

* Arnaldo Carvalho de Melo  wrote:

> Hi Ingo,
> 
>   Please consider pulling,
> 
> - Arnaldo
> 
> Test results at the end of this message, as usual.
> 
> The following changes since commit e7af7b15121ca08c31a0ab9df71a41b4c53365b4:
> 
>   Merge tag 'perf-core-for-mingo-20161201' of 
> git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core 
> (2016-12-02 10:08:03 +0100)
> 
> are available in the git repository at:
> 
>   git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git 
> tags/perf-core-for-mingo-20161205
> 
> for you to fetch changes up to bec60e50af83741cde1786ab475d4bf472aed6f9:
> 
>   perf annotate: Show raw form for jump instruction with indirect target 
> (2016-12-05 17:21:57 -0300)
> 
> 
> perf/core improvements and fixes:
> 
> Fixes:
> 
> - Do not show a bogus target address in 'perf annotate' for targetless powerpc
>   jump instructions such as 'bctr' (Ravi Bangoria)
> 
> - tools/build fixes related to race conditions with the fixdep utility (Jiri 
> Olsa)
> 
> - Fix building objtool with clang (Peter Foley)
> 
> Infrastructure:
> 
> - Support linking perf with clang and LLVM libraries, initially statically, 
> but
>   this limitation will be lifted and shared libraries, when available, will
>   be preferred to the static build, that should, as with other features, be
>   enabled explicitly (Wang Nan)
> 
> Signed-off-by: Arnaldo Carvalho de Melo 
> 
> 
> Jiri Olsa (7):
>   tools build: Make fixdep parsing wait for last target
>   tools build: Make the .cmd file more readable
>   tools build: Move tabs to spaces where suitable
>   perf tools: Move install-gtk target into rules area
>   perf tools: Move python/perf.so target into rules area
>   perf tools: Cleanup build directory before each test
>   perf tools: Add non config targets
> 
> Peter Foley (1):
>   tools build: Fix objtool build with clang
> 
> Ravi Bangoria (1):
>   perf annotate: Show raw form for jump instruction with indirect target
> 
> Wang Nan (11):
>   perf tools: Pass context to perf hook functions
>   perf llvm: Extract helpers in llvm-utils.c
>   tools build: Add feature detection for LLVM
>   tools build: Add feature detection for clang
>   perf build: Add clang and llvm compile and linking support
>   perf clang: Add builtin clang support ant test case
>   perf clang: Use real file system for #include
>   perf clang: Allow passing CFLAGS to builtin clang
>   perf clang: Update test case to use real BPF script
>   perf clang: Support compile IR to BPF object and add testcase
>   perf clang: Compile BPF script using builtin clang support
> 
>  tools/build/Build.include  |  20 ++--
>  tools/build/Makefile.feature   | 138 +-
>  tools/build/feature/Makefile   | 120 +--
>  tools/build/feature/test-clang.cpp |  21 
>  tools/build/feature/test-llvm.cpp  |   8 ++
>  tools/build/fixdep.c   |   5 +-
>  tools/perf/Makefile.config |  62 +---
>  tools/perf/Makefile.perf   |  56 +++
>  tools/perf/tests/Build |   1 +
>  tools/perf/tests/builtin-test.c|   9 ++
>  tools/perf/tests/clang.c   |  46 +
>  tools/perf/tests/llvm.h|   7 ++
>  tools/perf/tests/make  |   4 +-
>  tools/perf/tests/perf-hooks.c  |  14 ++-
>  tools/perf/tests/tests.h   |   3 +
>  tools/perf/util/Build  |   2 +
>  tools/perf/util/annotate.c |   3 +
>  tools/perf/util/bpf-loader.c   |  19 +++-
>  tools/perf/util/c++/Build  |   2 +
>  tools/perf/util/c++/clang-c.h  |  43 
>  tools/perf/util/c++/clang-test.cpp |  62 
>  tools/perf/util/c++/clang.cpp  | 195 
> +
>  tools/perf/util/c++/clang.h|  26 +
>  tools/perf/util/llvm-utils.c   |  76 +++
>  tools/perf/util/llvm-utils.h   |   6 ++
>  tools/perf/util/perf-hooks.c   |  10 +-
>  tools/perf/util/perf-hooks.h   |   6 +-
>  tools/perf/util/util-cxx.h |  26 +
>  28 files changed, 795 insertions(+), 195 deletions(-)
>  create mode 100644 tools/build/feature/test-clang.cpp
>  create mode 100644 tools/build/feature/test-llvm.cpp
>  create mode 100644 tools/perf/tests/clang.c
>  create mode 100644 tools/perf/util/c++/Build
>  create mode 100644 tools/perf/util/c++/clang-c.h
>  create mode 100644 tools/perf/util/c++/clang-test.cpp
>  create mode 100644 tools/perf/util/c++/clang.cpp
>  create mode 100644 tools/perf/util/c++/clang.h
>  create mode 100644 tools/perf/util/util-cxx.h
> 
>   # uname -a
>   Linux jouet 4.8.8-300.fc25.x86_64 #1 SMP Tue Nov 15 18:10:06 UTC 2016 
> x86_64 x86_64 x86_64 GNU/Linux
>   # perf test
>1: vmlinux symtab 

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

2016-12-06 Thread Ingo Molnar

* Arnaldo Carvalho de Melo  wrote:

> Hi Ingo,
> 
>   Please consider pulling,
> 
> - Arnaldo
> 
> Test results at the end of this message, as usual.
> 
> The following changes since commit e7af7b15121ca08c31a0ab9df71a41b4c53365b4:
> 
>   Merge tag 'perf-core-for-mingo-20161201' of 
> git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core 
> (2016-12-02 10:08:03 +0100)
> 
> are available in the git repository at:
> 
>   git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git 
> tags/perf-core-for-mingo-20161205
> 
> for you to fetch changes up to bec60e50af83741cde1786ab475d4bf472aed6f9:
> 
>   perf annotate: Show raw form for jump instruction with indirect target 
> (2016-12-05 17:21:57 -0300)
> 
> 
> perf/core improvements and fixes:
> 
> Fixes:
> 
> - Do not show a bogus target address in 'perf annotate' for targetless powerpc
>   jump instructions such as 'bctr' (Ravi Bangoria)
> 
> - tools/build fixes related to race conditions with the fixdep utility (Jiri 
> Olsa)
> 
> - Fix building objtool with clang (Peter Foley)
> 
> Infrastructure:
> 
> - Support linking perf with clang and LLVM libraries, initially statically, 
> but
>   this limitation will be lifted and shared libraries, when available, will
>   be preferred to the static build, that should, as with other features, be
>   enabled explicitly (Wang Nan)
> 
> Signed-off-by: Arnaldo Carvalho de Melo 
> 
> 
> Jiri Olsa (7):
>   tools build: Make fixdep parsing wait for last target
>   tools build: Make the .cmd file more readable
>   tools build: Move tabs to spaces where suitable
>   perf tools: Move install-gtk target into rules area
>   perf tools: Move python/perf.so target into rules area
>   perf tools: Cleanup build directory before each test
>   perf tools: Add non config targets
> 
> Peter Foley (1):
>   tools build: Fix objtool build with clang
> 
> Ravi Bangoria (1):
>   perf annotate: Show raw form for jump instruction with indirect target
> 
> Wang Nan (11):
>   perf tools: Pass context to perf hook functions
>   perf llvm: Extract helpers in llvm-utils.c
>   tools build: Add feature detection for LLVM
>   tools build: Add feature detection for clang
>   perf build: Add clang and llvm compile and linking support
>   perf clang: Add builtin clang support ant test case
>   perf clang: Use real file system for #include
>   perf clang: Allow passing CFLAGS to builtin clang
>   perf clang: Update test case to use real BPF script
>   perf clang: Support compile IR to BPF object and add testcase
>   perf clang: Compile BPF script using builtin clang support
> 
>  tools/build/Build.include  |  20 ++--
>  tools/build/Makefile.feature   | 138 +-
>  tools/build/feature/Makefile   | 120 +--
>  tools/build/feature/test-clang.cpp |  21 
>  tools/build/feature/test-llvm.cpp  |   8 ++
>  tools/build/fixdep.c   |   5 +-
>  tools/perf/Makefile.config |  62 +---
>  tools/perf/Makefile.perf   |  56 +++
>  tools/perf/tests/Build |   1 +
>  tools/perf/tests/builtin-test.c|   9 ++
>  tools/perf/tests/clang.c   |  46 +
>  tools/perf/tests/llvm.h|   7 ++
>  tools/perf/tests/make  |   4 +-
>  tools/perf/tests/perf-hooks.c  |  14 ++-
>  tools/perf/tests/tests.h   |   3 +
>  tools/perf/util/Build  |   2 +
>  tools/perf/util/annotate.c |   3 +
>  tools/perf/util/bpf-loader.c   |  19 +++-
>  tools/perf/util/c++/Build  |   2 +
>  tools/perf/util/c++/clang-c.h  |  43 
>  tools/perf/util/c++/clang-test.cpp |  62 
>  tools/perf/util/c++/clang.cpp  | 195 
> +
>  tools/perf/util/c++/clang.h|  26 +
>  tools/perf/util/llvm-utils.c   |  76 +++
>  tools/perf/util/llvm-utils.h   |   6 ++
>  tools/perf/util/perf-hooks.c   |  10 +-
>  tools/perf/util/perf-hooks.h   |   6 +-
>  tools/perf/util/util-cxx.h |  26 +
>  28 files changed, 795 insertions(+), 195 deletions(-)
>  create mode 100644 tools/build/feature/test-clang.cpp
>  create mode 100644 tools/build/feature/test-llvm.cpp
>  create mode 100644 tools/perf/tests/clang.c
>  create mode 100644 tools/perf/util/c++/Build
>  create mode 100644 tools/perf/util/c++/clang-c.h
>  create mode 100644 tools/perf/util/c++/clang-test.cpp
>  create mode 100644 tools/perf/util/c++/clang.cpp
>  create mode 100644 tools/perf/util/c++/clang.h
>  create mode 100644 tools/perf/util/util-cxx.h
> 
>   # uname -a
>   Linux jouet 4.8.8-300.fc25.x86_64 #1 SMP Tue Nov 15 18:10:06 UTC 2016 
> x86_64 x86_64 x86_64 GNU/Linux
>   # perf test
>1: vmlinux symtab matches kallsyms: Ok
>

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

2016-12-05 Thread Arnaldo Carvalho de Melo
Hi Ingo,

Please consider pulling,

- Arnaldo

Test results at the end of this message, as usual.

The following changes since commit e7af7b15121ca08c31a0ab9df71a41b4c53365b4:

  Merge tag 'perf-core-for-mingo-20161201' of 
git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core 
(2016-12-02 10:08:03 +0100)

are available in the git repository at:

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

for you to fetch changes up to bec60e50af83741cde1786ab475d4bf472aed6f9:

  perf annotate: Show raw form for jump instruction with indirect target 
(2016-12-05 17:21:57 -0300)


perf/core improvements and fixes:

Fixes:

- Do not show a bogus target address in 'perf annotate' for targetless powerpc
  jump instructions such as 'bctr' (Ravi Bangoria)

- tools/build fixes related to race conditions with the fixdep utility (Jiri 
Olsa)

- Fix building objtool with clang (Peter Foley)

Infrastructure:

- Support linking perf with clang and LLVM libraries, initially statically, but
  this limitation will be lifted and shared libraries, when available, will
  be preferred to the static build, that should, as with other features, be
  enabled explicitly (Wang Nan)

Signed-off-by: Arnaldo Carvalho de Melo 


Jiri Olsa (7):
  tools build: Make fixdep parsing wait for last target
  tools build: Make the .cmd file more readable
  tools build: Move tabs to spaces where suitable
  perf tools: Move install-gtk target into rules area
  perf tools: Move python/perf.so target into rules area
  perf tools: Cleanup build directory before each test
  perf tools: Add non config targets

Peter Foley (1):
  tools build: Fix objtool build with clang

Ravi Bangoria (1):
  perf annotate: Show raw form for jump instruction with indirect target

Wang Nan (11):
  perf tools: Pass context to perf hook functions
  perf llvm: Extract helpers in llvm-utils.c
  tools build: Add feature detection for LLVM
  tools build: Add feature detection for clang
  perf build: Add clang and llvm compile and linking support
  perf clang: Add builtin clang support ant test case
  perf clang: Use real file system for #include
  perf clang: Allow passing CFLAGS to builtin clang
  perf clang: Update test case to use real BPF script
  perf clang: Support compile IR to BPF object and add testcase
  perf clang: Compile BPF script using builtin clang support

 tools/build/Build.include  |  20 ++--
 tools/build/Makefile.feature   | 138 +-
 tools/build/feature/Makefile   | 120 +--
 tools/build/feature/test-clang.cpp |  21 
 tools/build/feature/test-llvm.cpp  |   8 ++
 tools/build/fixdep.c   |   5 +-
 tools/perf/Makefile.config |  62 +---
 tools/perf/Makefile.perf   |  56 +++
 tools/perf/tests/Build |   1 +
 tools/perf/tests/builtin-test.c|   9 ++
 tools/perf/tests/clang.c   |  46 +
 tools/perf/tests/llvm.h|   7 ++
 tools/perf/tests/make  |   4 +-
 tools/perf/tests/perf-hooks.c  |  14 ++-
 tools/perf/tests/tests.h   |   3 +
 tools/perf/util/Build  |   2 +
 tools/perf/util/annotate.c |   3 +
 tools/perf/util/bpf-loader.c   |  19 +++-
 tools/perf/util/c++/Build  |   2 +
 tools/perf/util/c++/clang-c.h  |  43 
 tools/perf/util/c++/clang-test.cpp |  62 
 tools/perf/util/c++/clang.cpp  | 195 +
 tools/perf/util/c++/clang.h|  26 +
 tools/perf/util/llvm-utils.c   |  76 +++
 tools/perf/util/llvm-utils.h   |   6 ++
 tools/perf/util/perf-hooks.c   |  10 +-
 tools/perf/util/perf-hooks.h   |   6 +-
 tools/perf/util/util-cxx.h |  26 +
 28 files changed, 795 insertions(+), 195 deletions(-)
 create mode 100644 tools/build/feature/test-clang.cpp
 create mode 100644 tools/build/feature/test-llvm.cpp
 create mode 100644 tools/perf/tests/clang.c
 create mode 100644 tools/perf/util/c++/Build
 create mode 100644 tools/perf/util/c++/clang-c.h
 create mode 100644 tools/perf/util/c++/clang-test.cpp
 create mode 100644 tools/perf/util/c++/clang.cpp
 create mode 100644 tools/perf/util/c++/clang.h
 create mode 100644 tools/perf/util/util-cxx.h

  # uname -a
  Linux jouet 4.8.8-300.fc25.x86_64 #1 SMP Tue Nov 15 18:10:06 UTC 2016 x86_64 
x86_64 x86_64 GNU/Linux
  # perf test
   1: vmlinux symtab matches kallsyms: Ok
   2: Detect openat syscall event: Ok
   3: Detect openat syscall event on all cpus: Ok
   4: Read samples using the mmap interface  : Ok
   5: Parse event definition strings : Ok
   6: PERF_RECORD_* events & perf_sample fields  : 

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

2016-12-05 Thread Arnaldo Carvalho de Melo
Hi Ingo,

Please consider pulling,

- Arnaldo

Test results at the end of this message, as usual.

The following changes since commit e7af7b15121ca08c31a0ab9df71a41b4c53365b4:

  Merge tag 'perf-core-for-mingo-20161201' of 
git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core 
(2016-12-02 10:08:03 +0100)

are available in the git repository at:

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

for you to fetch changes up to bec60e50af83741cde1786ab475d4bf472aed6f9:

  perf annotate: Show raw form for jump instruction with indirect target 
(2016-12-05 17:21:57 -0300)


perf/core improvements and fixes:

Fixes:

- Do not show a bogus target address in 'perf annotate' for targetless powerpc
  jump instructions such as 'bctr' (Ravi Bangoria)

- tools/build fixes related to race conditions with the fixdep utility (Jiri 
Olsa)

- Fix building objtool with clang (Peter Foley)

Infrastructure:

- Support linking perf with clang and LLVM libraries, initially statically, but
  this limitation will be lifted and shared libraries, when available, will
  be preferred to the static build, that should, as with other features, be
  enabled explicitly (Wang Nan)

Signed-off-by: Arnaldo Carvalho de Melo 


Jiri Olsa (7):
  tools build: Make fixdep parsing wait for last target
  tools build: Make the .cmd file more readable
  tools build: Move tabs to spaces where suitable
  perf tools: Move install-gtk target into rules area
  perf tools: Move python/perf.so target into rules area
  perf tools: Cleanup build directory before each test
  perf tools: Add non config targets

Peter Foley (1):
  tools build: Fix objtool build with clang

Ravi Bangoria (1):
  perf annotate: Show raw form for jump instruction with indirect target

Wang Nan (11):
  perf tools: Pass context to perf hook functions
  perf llvm: Extract helpers in llvm-utils.c
  tools build: Add feature detection for LLVM
  tools build: Add feature detection for clang
  perf build: Add clang and llvm compile and linking support
  perf clang: Add builtin clang support ant test case
  perf clang: Use real file system for #include
  perf clang: Allow passing CFLAGS to builtin clang
  perf clang: Update test case to use real BPF script
  perf clang: Support compile IR to BPF object and add testcase
  perf clang: Compile BPF script using builtin clang support

 tools/build/Build.include  |  20 ++--
 tools/build/Makefile.feature   | 138 +-
 tools/build/feature/Makefile   | 120 +--
 tools/build/feature/test-clang.cpp |  21 
 tools/build/feature/test-llvm.cpp  |   8 ++
 tools/build/fixdep.c   |   5 +-
 tools/perf/Makefile.config |  62 +---
 tools/perf/Makefile.perf   |  56 +++
 tools/perf/tests/Build |   1 +
 tools/perf/tests/builtin-test.c|   9 ++
 tools/perf/tests/clang.c   |  46 +
 tools/perf/tests/llvm.h|   7 ++
 tools/perf/tests/make  |   4 +-
 tools/perf/tests/perf-hooks.c  |  14 ++-
 tools/perf/tests/tests.h   |   3 +
 tools/perf/util/Build  |   2 +
 tools/perf/util/annotate.c |   3 +
 tools/perf/util/bpf-loader.c   |  19 +++-
 tools/perf/util/c++/Build  |   2 +
 tools/perf/util/c++/clang-c.h  |  43 
 tools/perf/util/c++/clang-test.cpp |  62 
 tools/perf/util/c++/clang.cpp  | 195 +
 tools/perf/util/c++/clang.h|  26 +
 tools/perf/util/llvm-utils.c   |  76 +++
 tools/perf/util/llvm-utils.h   |   6 ++
 tools/perf/util/perf-hooks.c   |  10 +-
 tools/perf/util/perf-hooks.h   |   6 +-
 tools/perf/util/util-cxx.h |  26 +
 28 files changed, 795 insertions(+), 195 deletions(-)
 create mode 100644 tools/build/feature/test-clang.cpp
 create mode 100644 tools/build/feature/test-llvm.cpp
 create mode 100644 tools/perf/tests/clang.c
 create mode 100644 tools/perf/util/c++/Build
 create mode 100644 tools/perf/util/c++/clang-c.h
 create mode 100644 tools/perf/util/c++/clang-test.cpp
 create mode 100644 tools/perf/util/c++/clang.cpp
 create mode 100644 tools/perf/util/c++/clang.h
 create mode 100644 tools/perf/util/util-cxx.h

  # uname -a
  Linux jouet 4.8.8-300.fc25.x86_64 #1 SMP Tue Nov 15 18:10:06 UTC 2016 x86_64 
x86_64 x86_64 GNU/Linux
  # perf test
   1: vmlinux symtab matches kallsyms: Ok
   2: Detect openat syscall event: Ok
   3: Detect openat syscall event on all cpus: Ok
   4: Read samples using the mmap interface  : Ok
   5: Parse event definition strings : Ok
   6: PERF_RECORD_* events & perf_sample fields  : Ok
   7: Parse 

Re: [RFC] propagating symtab load errors. was: Re: [GIT PULL 00/20] perf/core improvements and fixes

2015-03-24 Thread Arnaldo Carvalho de Melo
Em Tue, Mar 24, 2015 at 02:16:56PM +0100, Jiri Olsa escreveu:
> On Mon, Mar 23, 2015 at 07:18:37PM -0300, Arnaldo Carvalho de Melo wrote:
> > Right now some of this can be obtained via the pr_debug calls, but that is 
> > too
> > รค passive aggressive, and we don't want to do the error report syncronously,
> > this is up for the tools/UI used, so saving it and providing a strerror 
> > routine
> > looks sane, right?
 
> right, DSO_LOAD_ERRNO__DECOMPRESSION_FAILURE seems ok

Ok, set dso->load_errno in a few more places, introduced a couple of
build id errnos and sticked an "Acked-by: jirka" to it, thanks!

- Arnaldo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [RFC] propagating symtab load errors. was: Re: [GIT PULL 00/20] perf/core improvements and fixes

2015-03-24 Thread Jiri Olsa
On Mon, Mar 23, 2015 at 07:18:37PM -0300, Arnaldo Carvalho de Melo wrote:
> Em Tue, Mar 10, 2015 at 11:03:31AM +0100, Ingo Molnar escreveu:
> > So I got this error today:
> > 
> > โ”Œโ”€Warning:โ”€โ”€โ”€โ”
> > โ”‚The vmlinux file can't be used. โ”‚
> > โ”‚Kernel samples will not be resolved.โ”‚
> > โ”‚โ”‚
> > โ”‚โ”‚
> > โ”‚Press any key...โ”‚
> > โ””โ”˜
> > ... and sadly perf is being passive-aggressive again: being negative 
> > but refusing to say why! :-)
> > 
> > Is there a way to figure out why it did not like the vmlinux?
> 
> So, we need some infrastructure for that, i.e. a strerror like routine
> like we have for other classes, because there are lots of things that
> can go wrong while loading a file: ELF error, decompression stuff, you
> name it, so, with the patch below it ends up as:
> 
> 
> # perf top --vmlinux /dev/null
> 
>โ”Œโ”€Warning:โ”€โ”€โ”€โ”
>โ”‚The /tmp/passwd file can't be used: Invalid ELF fileโ”‚
>โ”‚Kernel samples will not be resolved.โ”‚
>โ”‚โ”‚
>โ”‚โ”‚
>โ”‚Press any key...โ”‚
>โ””โ”˜
> 
> 
> Basically save the errno, that may be an elf_errno (in this case I just came 
> up
> with a DSO_LOAD_ERRNO__INVALID_ELF), an errno or some other error that needs
> propagating.
> 
> Just a heads up, I'll polish it a bit more before submitting, sounds OK?
> 
> Jiri, Namhyung, this would go down to the decompression code, etc.
> 
> Right now some of this can be obtained via the pr_debug calls, but that is too
> รค passive aggressive, and we don't want to do the error report syncronously,
> this is up for the tools/UI used, so saving it and providing a strerror 
> routine
> looks sane, right?

right, DSO_LOAD_ERRNO__DECOMPRESSION_FAILURE seems ok

jirka
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [RFC] propagating symtab load errors. was: Re: [GIT PULL 00/20] perf/core improvements and fixes

2015-03-24 Thread Jiri Olsa
On Mon, Mar 23, 2015 at 07:18:37PM -0300, Arnaldo Carvalho de Melo wrote:
 Em Tue, Mar 10, 2015 at 11:03:31AM +0100, Ingo Molnar escreveu:
  So I got this error today:
  
  โ”Œโ”€Warning:โ”€โ”€โ”€โ”
  โ”‚The vmlinux file can't be used. โ”‚
  โ”‚Kernel samples will not be resolved.โ”‚
  โ”‚โ”‚
  โ”‚โ”‚
  โ”‚Press any key...โ”‚
  โ””โ”˜
  ... and sadly perf is being passive-aggressive again: being negative 
  but refusing to say why! :-)
  
  Is there a way to figure out why it did not like the vmlinux?
 
 So, we need some infrastructure for that, i.e. a strerror like routine
 like we have for other classes, because there are lots of things that
 can go wrong while loading a file: ELF error, decompression stuff, you
 name it, so, with the patch below it ends up as:
 
 
 # perf top --vmlinux /dev/null
 
โ”Œโ”€Warning:โ”€โ”€โ”€โ”
โ”‚The /tmp/passwd file can't be used: Invalid ELF fileโ”‚
โ”‚Kernel samples will not be resolved.โ”‚
โ”‚โ”‚
โ”‚โ”‚
โ”‚Press any key...โ”‚
โ””โ”˜
 
 
 Basically save the errno, that may be an elf_errno (in this case I just came 
 up
 with a DSO_LOAD_ERRNO__INVALID_ELF), an errno or some other error that needs
 propagating.
 
 Just a heads up, I'll polish it a bit more before submitting, sounds OK?
 
 Jiri, Namhyung, this would go down to the decompression code, etc.
 
 Right now some of this can be obtained via the pr_debug calls, but that is too
 รค passive aggressive, and we don't want to do the error report syncronously,
 this is up for the tools/UI used, so saving it and providing a strerror 
 routine
 looks sane, right?

right, DSO_LOAD_ERRNO__DECOMPRESSION_FAILURE seems ok

jirka
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [RFC] propagating symtab load errors. was: Re: [GIT PULL 00/20] perf/core improvements and fixes

2015-03-24 Thread Arnaldo Carvalho de Melo
Em Tue, Mar 24, 2015 at 02:16:56PM +0100, Jiri Olsa escreveu:
 On Mon, Mar 23, 2015 at 07:18:37PM -0300, Arnaldo Carvalho de Melo wrote:
  Right now some of this can be obtained via the pr_debug calls, but that is 
  too
  รค passive aggressive, and we don't want to do the error report syncronously,
  this is up for the tools/UI used, so saving it and providing a strerror 
  routine
  looks sane, right?
 
 right, DSO_LOAD_ERRNO__DECOMPRESSION_FAILURE seems ok

Ok, set dso-load_errno in a few more places, introduced a couple of
build id errnos and sticked an Acked-by: jirka to it, thanks!

- Arnaldo
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[RFC] propagating symtab load errors. was: Re: [GIT PULL 00/20] perf/core improvements and fixes

2015-03-23 Thread Arnaldo Carvalho de Melo
Em Tue, Mar 10, 2015 at 11:03:31AM +0100, Ingo Molnar escreveu:
> So I got this error today:
> 
> โ”Œโ”€Warning:โ”€โ”€โ”€โ”
> โ”‚The vmlinux file can't be used. โ”‚
> โ”‚Kernel samples will not be resolved.โ”‚
> โ”‚โ”‚
> โ”‚โ”‚
> โ”‚Press any key...โ”‚
> โ””โ”˜
> ... and sadly perf is being passive-aggressive again: being negative 
> but refusing to say why! :-)
> 
> Is there a way to figure out why it did not like the vmlinux?

So, we need some infrastructure for that, i.e. a strerror like routine
like we have for other classes, because there are lots of things that
can go wrong while loading a file: ELF error, decompression stuff, you
name it, so, with the patch below it ends up as:


# perf top --vmlinux /dev/null

   โ”Œโ”€Warning:โ”€โ”€โ”€โ”
   โ”‚The /tmp/passwd file can't be used: Invalid ELF fileโ”‚
   โ”‚Kernel samples will not be resolved.โ”‚
   โ”‚โ”‚
   โ”‚โ”‚
   โ”‚Press any key...โ”‚
   โ””โ”˜


Basically save the errno, that may be an elf_errno (in this case I just came up
with a DSO_LOAD_ERRNO__INVALID_ELF), an errno or some other error that needs
propagating.

Just a heads up, I'll polish it a bit more before submitting, sounds OK?

Jiri, Namhyung, this would go down to the decompression code, etc.

Right now some of this can be obtained via the pr_debug calls, but that is too
รค passive aggressive, and we don't want to do the error report syncronously,
this is up for the tools/UI used, so saving it and providing a strerror routine
looks sane, right?

- Arnaldo

diff --git a/tools/perf/builtin-top.c b/tools/perf/builtin-top.c
index 5fb8723c7128..1cb3436276d1 100644
--- a/tools/perf/builtin-top.c
+++ b/tools/perf/builtin-top.c
@@ -757,8 +757,10 @@ static void perf_event__process_sample(struct perf_tool 
*tool,
al.map == machine->vmlinux_maps[MAP__FUNCTION] &&
RB_EMPTY_ROOT(>dso->symbols[MAP__FUNCTION])) {
if (symbol_conf.vmlinux_name) {
-   ui__warning("The %s file can't be used.\n%s",
-   symbol_conf.vmlinux_name, msg);
+   char serr[256];
+   dso__strerror_load(al.map->dso, serr, 
sizeof(serr));
+   ui__warning("The %s file can't be used: %s\n%s",
+   symbol_conf.vmlinux_name, serr, 
msg);
} else {
ui__warning("A vmlinux file was not found.\n%s",
msg);
diff --git a/tools/perf/util/dso.c b/tools/perf/util/dso.c
index 0d3667f92023..4e33be8f92ba 100644
--- a/tools/perf/util/dso.c
+++ b/tools/perf/util/dso.c
@@ -1137,3 +1137,34 @@ enum dso_type dso__type(struct dso *dso, struct machine 
*machine)
 
return dso__type_fd(fd);
 }
+
+int dso__strerror_load(struct dso *dso, char *buf, size_t buflen)
+{
+   int idx, errnum = dso->load_errno;
+   /*
+* This must have a same ordering as the enum dso_load_errno.
+*/
+   static const char *dso_load__error_str[] = {
+   "Internal tools/perf/ library error",
+   "Invalid ELF file",
+   "Decompression failure",
+   };
+
+   BUG_ON(buflen == 0);
+
+   if (errnum >= 0) {
+   const char *err = strerror_r(errnum, buf, buflen);
+
+   if (err != buf)
+   scnprintf(buf, buflen, "%s", err);
+
+   return 0;
+   }
+
+   if (errnum <  __DSO_LOAD_ERRNO__START || errnum >= 
__DSO_LOAD_ERRNO__END)
+   return -1;
+
+   idx = errnum - __DSO_LOAD_ERRNO__START;
+   scnprintf(buf, buflen, "%s", dso_load__error_str[idx]);
+   return 0;
+}
diff --git a/tools/perf/util/dso.h b/tools/perf/util/dso.h
index 88f345cc5be2..25f78bb15819 100644
--- a/tools/perf/util/dso.h
+++ b/tools/perf/util/dso.h
@@ -60,6 +60,29 @@ enum dso_type {
DSO__TYPE_X32BIT,
 };
 
+enum dso_load_errno {
+   DSO_LOAD_ERRNO__SUCCESS = 0,
+
+   /*
+* Choose an arbitrary negative big number not to clash with standard
+* errno since SUS requires the errno has distinct positive values.
+* See 'Issue 6' in the link below.
+*
+* http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/errno.h.html
+*/
+   __DSO_LOAD_ERRNO__START = -1,
+
+   DSO_LOAD_ERRNO__INTERNAL_ERROR  = __DSO_LOAD_ERRNO__START,
+
+   /* 

[RFC] propagating symtab load errors. was: Re: [GIT PULL 00/20] perf/core improvements and fixes

2015-03-23 Thread Arnaldo Carvalho de Melo
Em Tue, Mar 10, 2015 at 11:03:31AM +0100, Ingo Molnar escreveu:
 So I got this error today:
 
 โ”Œโ”€Warning:โ”€โ”€โ”€โ”
 โ”‚The vmlinux file can't be used. โ”‚
 โ”‚Kernel samples will not be resolved.โ”‚
 โ”‚โ”‚
 โ”‚โ”‚
 โ”‚Press any key...โ”‚
 โ””โ”˜
 ... and sadly perf is being passive-aggressive again: being negative 
 but refusing to say why! :-)
 
 Is there a way to figure out why it did not like the vmlinux?

So, we need some infrastructure for that, i.e. a strerror like routine
like we have for other classes, because there are lots of things that
can go wrong while loading a file: ELF error, decompression stuff, you
name it, so, with the patch below it ends up as:


# perf top --vmlinux /dev/null

   โ”Œโ”€Warning:โ”€โ”€โ”€โ”
   โ”‚The /tmp/passwd file can't be used: Invalid ELF fileโ”‚
   โ”‚Kernel samples will not be resolved.โ”‚
   โ”‚โ”‚
   โ”‚โ”‚
   โ”‚Press any key...โ”‚
   โ””โ”˜


Basically save the errno, that may be an elf_errno (in this case I just came up
with a DSO_LOAD_ERRNO__INVALID_ELF), an errno or some other error that needs
propagating.

Just a heads up, I'll polish it a bit more before submitting, sounds OK?

Jiri, Namhyung, this would go down to the decompression code, etc.

Right now some of this can be obtained via the pr_debug calls, but that is too
รค passive aggressive, and we don't want to do the error report syncronously,
this is up for the tools/UI used, so saving it and providing a strerror routine
looks sane, right?

- Arnaldo

diff --git a/tools/perf/builtin-top.c b/tools/perf/builtin-top.c
index 5fb8723c7128..1cb3436276d1 100644
--- a/tools/perf/builtin-top.c
+++ b/tools/perf/builtin-top.c
@@ -757,8 +757,10 @@ static void perf_event__process_sample(struct perf_tool 
*tool,
al.map == machine-vmlinux_maps[MAP__FUNCTION] 
RB_EMPTY_ROOT(al.map-dso-symbols[MAP__FUNCTION])) {
if (symbol_conf.vmlinux_name) {
-   ui__warning(The %s file can't be used.\n%s,
-   symbol_conf.vmlinux_name, msg);
+   char serr[256];
+   dso__strerror_load(al.map-dso, serr, 
sizeof(serr));
+   ui__warning(The %s file can't be used: %s\n%s,
+   symbol_conf.vmlinux_name, serr, 
msg);
} else {
ui__warning(A vmlinux file was not found.\n%s,
msg);
diff --git a/tools/perf/util/dso.c b/tools/perf/util/dso.c
index 0d3667f92023..4e33be8f92ba 100644
--- a/tools/perf/util/dso.c
+++ b/tools/perf/util/dso.c
@@ -1137,3 +1137,34 @@ enum dso_type dso__type(struct dso *dso, struct machine 
*machine)
 
return dso__type_fd(fd);
 }
+
+int dso__strerror_load(struct dso *dso, char *buf, size_t buflen)
+{
+   int idx, errnum = dso-load_errno;
+   /*
+* This must have a same ordering as the enum dso_load_errno.
+*/
+   static const char *dso_load__error_str[] = {
+   Internal tools/perf/ library error,
+   Invalid ELF file,
+   Decompression failure,
+   };
+
+   BUG_ON(buflen == 0);
+
+   if (errnum = 0) {
+   const char *err = strerror_r(errnum, buf, buflen);
+
+   if (err != buf)
+   scnprintf(buf, buflen, %s, err);
+
+   return 0;
+   }
+
+   if (errnum   __DSO_LOAD_ERRNO__START || errnum = 
__DSO_LOAD_ERRNO__END)
+   return -1;
+
+   idx = errnum - __DSO_LOAD_ERRNO__START;
+   scnprintf(buf, buflen, %s, dso_load__error_str[idx]);
+   return 0;
+}
diff --git a/tools/perf/util/dso.h b/tools/perf/util/dso.h
index 88f345cc5be2..25f78bb15819 100644
--- a/tools/perf/util/dso.h
+++ b/tools/perf/util/dso.h
@@ -60,6 +60,29 @@ enum dso_type {
DSO__TYPE_X32BIT,
 };
 
+enum dso_load_errno {
+   DSO_LOAD_ERRNO__SUCCESS = 0,
+
+   /*
+* Choose an arbitrary negative big number not to clash with standard
+* errno since SUS requires the errno has distinct positive values.
+* See 'Issue 6' in the link below.
+*
+* http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/errno.h.html
+*/
+   __DSO_LOAD_ERRNO__START = -1,
+
+   DSO_LOAD_ERRNO__INTERNAL_ERROR  = __DSO_LOAD_ERRNO__START,
+
+   /* for symsrc__init() */
+   

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

2015-03-10 Thread Ingo Molnar

* Arnaldo Carvalho de Melo  wrote:

> Em Tue, Mar 10, 2015 at 11:03:31AM +0100, Ingo Molnar escreveu:
> > So I got this error today:
> > 
> >   โ”Œโ”€Warning:โ”€โ”€โ”€โ”
> >   โ”‚The vmlinux file can't be used. โ”‚
> >   โ”‚Kernel samples will not be resolved.โ”‚
> >   โ”‚โ”‚
> >   โ”‚โ”‚
> >   โ”‚Press any key...โ”‚
> >   โ””โ”˜
> > 
> > ... and sadly perf is being passive-aggressive again: being negative 
> > but refusing to say why! :-)
> 
> > Is there a way to figure out why it did not like the vmlinux?
> 
> I'll check and improve the message.
> 
> But you must've noticed that perf is going to a therapist, aka 
> improving error messages... ;-)

Absolutely! ;-)

Also, on the positive side, today I was able to build and run perf on 
ancient user-space: a Fedora Core 6 installation, with very few hacks 
(see the attached hacks).

The HAVE_NEW_FLAX hack results in a non-working -e option.

Thanks,

Ingo

Index: tip/tools/perf/util/parse-events.c
===
--- tip.orig/tools/perf/util/parse-events.c
+++ tip/tools/perf/util/parse-events.c
@@ -968,6 +968,13 @@ perf_pmu__parse_check(const char *name)
return r ? r->type : PMU_EVENT_SYMBOL_ERR;
 }
 
+#ifndef HAVE_NEW_FLEX
+static int parse_events_lex_init_extra(int start_token __maybe_unused, void 
**scanner __maybe_unused)
+{
+   return -1;
+}
+#endif
+
 static int parse_events__scanner(const char *str, void *data, int start_token)
 {
YY_BUFFER_STATE buffer;
Index: tip/tools/perf/util/symbol-elf.c
===
--- tip.orig/tools/perf/util/symbol-elf.c
+++ tip/tools/perf/util/symbol-elf.c
@@ -53,6 +53,13 @@ static int elf_getphdrnum(Elf *elf, size
 }
 #endif
 
+#ifndef HAVE_ELF_GETPHDRNUM
+static int elf_getphdrnum (Elf *__elf __maybe_unused, size_t *__dst 
__maybe_unused)
+{
+   return 1;
+}
+#endif
+
 #ifndef NT_GNU_BUILD_ID
 #define NT_GNU_BUILD_ID 3
 #endif
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


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

2015-03-10 Thread Arnaldo Carvalho de Melo
Em Tue, Mar 10, 2015 at 11:03:31AM +0100, Ingo Molnar escreveu:
> So I got this error today:
> 
>   โ”Œโ”€Warning:โ”€โ”€โ”€โ”
>   โ”‚The vmlinux file can't be used. โ”‚
>   โ”‚Kernel samples will not be resolved.โ”‚
>   โ”‚โ”‚
>   โ”‚โ”‚
>   โ”‚Press any key...โ”‚
>   โ””โ”˜
> 
> ... and sadly perf is being passive-aggressive again: being negative 
> but refusing to say why! :-)

> Is there a way to figure out why it did not like the vmlinux?

I'll check and improve the message.

But you must've noticed that perf is going to a therapist, aka improving
error messages... ;-)

- Arnaldo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


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

2015-03-10 Thread Ingo Molnar

So I got this error today:


  
โ”Œโ”€Warning:โ”€โ”€โ”€โ”
  โ”‚The vmlinux 
file can't be used. โ”‚
  โ”‚Kernel 
samples will not be resolved.โ”‚
  โ”‚ 
   โ”‚
  โ”‚ 
   โ”‚
  โ”‚Press any 
key...โ”‚
  
โ””โ”˜

... and sadly perf is being passive-aggressive again: being negative 
but refusing to say why! :-)

Is there a way to figure out why it did not like the vmlinux?

Thanks,

Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


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

2015-03-10 Thread Ingo Molnar

So I got this error today:


  
โ”Œโ”€Warning:โ”€โ”€โ”€โ”
  โ”‚The vmlinux 
file can't be used. โ”‚
  โ”‚Kernel 
samples will not be resolved.โ”‚
  โ”‚ 
   โ”‚
  โ”‚ 
   โ”‚
  โ”‚Press any 
key...โ”‚
  
โ””โ”˜

... and sadly perf is being passive-aggressive again: being negative 
but refusing to say why! :-)

Is there a way to figure out why it did not like the vmlinux?

Thanks,

Ingo
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


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

2015-03-10 Thread Arnaldo Carvalho de Melo
Em Tue, Mar 10, 2015 at 11:03:31AM +0100, Ingo Molnar escreveu:
 So I got this error today:
 
   โ”Œโ”€Warning:โ”€โ”€โ”€โ”
   โ”‚The vmlinux file can't be used. โ”‚
   โ”‚Kernel samples will not be resolved.โ”‚
   โ”‚โ”‚
   โ”‚โ”‚
   โ”‚Press any key...โ”‚
   โ””โ”˜
 
 ... and sadly perf is being passive-aggressive again: being negative 
 but refusing to say why! :-)

 Is there a way to figure out why it did not like the vmlinux?

I'll check and improve the message.

But you must've noticed that perf is going to a therapist, aka improving
error messages... ;-)

- Arnaldo
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


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

2015-03-10 Thread Ingo Molnar

* Arnaldo Carvalho de Melo a...@redhat.com wrote:

 Em Tue, Mar 10, 2015 at 11:03:31AM +0100, Ingo Molnar escreveu:
  So I got this error today:
  
โ”Œโ”€Warning:โ”€โ”€โ”€โ”
โ”‚The vmlinux file can't be used. โ”‚
โ”‚Kernel samples will not be resolved.โ”‚
โ”‚โ”‚
โ”‚โ”‚
โ”‚Press any key...โ”‚
โ””โ”˜
  
  ... and sadly perf is being passive-aggressive again: being negative 
  but refusing to say why! :-)
 
  Is there a way to figure out why it did not like the vmlinux?
 
 I'll check and improve the message.
 
 But you must've noticed that perf is going to a therapist, aka 
 improving error messages... ;-)

Absolutely! ;-)

Also, on the positive side, today I was able to build and run perf on 
ancient user-space: a Fedora Core 6 installation, with very few hacks 
(see the attached hacks).

The HAVE_NEW_FLAX hack results in a non-working -e option.

Thanks,

Ingo

Index: tip/tools/perf/util/parse-events.c
===
--- tip.orig/tools/perf/util/parse-events.c
+++ tip/tools/perf/util/parse-events.c
@@ -968,6 +968,13 @@ perf_pmu__parse_check(const char *name)
return r ? r-type : PMU_EVENT_SYMBOL_ERR;
 }
 
+#ifndef HAVE_NEW_FLEX
+static int parse_events_lex_init_extra(int start_token __maybe_unused, void 
**scanner __maybe_unused)
+{
+   return -1;
+}
+#endif
+
 static int parse_events__scanner(const char *str, void *data, int start_token)
 {
YY_BUFFER_STATE buffer;
Index: tip/tools/perf/util/symbol-elf.c
===
--- tip.orig/tools/perf/util/symbol-elf.c
+++ tip/tools/perf/util/symbol-elf.c
@@ -53,6 +53,13 @@ static int elf_getphdrnum(Elf *elf, size
 }
 #endif
 
+#ifndef HAVE_ELF_GETPHDRNUM
+static int elf_getphdrnum (Elf *__elf __maybe_unused, size_t *__dst 
__maybe_unused)
+{
+   return 1;
+}
+#endif
+
 #ifndef NT_GNU_BUILD_ID
 #define NT_GNU_BUILD_ID 3
 #endif
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


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

2015-03-02 Thread Ingo Molnar

* Arnaldo Carvalho de Melo  wrote:

> Hi Ingo,
> 
>   This one has the thread reference counting, that I tested using 'perf 
> probe':
> 
>   perf probe -x ~/bin/perf 'thread__delete:4 thread refcnt=thread->refcnt 
> tid=thread->tid'
>   perf probe -x ~/bin/perf 'thread__get:1 thread refcnt=thread->refcnt 
> tid=thread->tid'
>   perf probe -x ~/bin/perf 'thread__put:6 thread refcnt=thread->refcnt 
> tid=thread->tid'
>   perf record -o thread_refcnt.data -g -e 
> probe_perf:thread__put,probe_perf:thread__get_1,probe_perf:thread__delete 
> perf top
> 
>   with that I checked and in the end the refcount reaches zero and
> thread__delete is called, as expected, using 'perf script', looking at the
> callchains, etc, did the same for 'perf sched lat' and 'trace' also seems to
> work.
> 
>   David, Namhyung, please holler if you find something fishy with this
> thread refcnt stuff, as it is something that is related to previous/current
> work by you guys,
> 
>   Ah, I also merged perf/urgent so that it is buildable in more systems.o
> 
>   There is also the revert for that is_power_of_2 "simplification" in 
> perf_mmap,
> that hasn't made it to perf/urgent nor upstream, its something only in 
> perf/core, sorry
> about that one, should have caught that :-\
> 
>   Please consider pulling,
> 
> - Arnaldo
> The following changes since commit 33be4ef116511f1079c4c3bf4b5547faf7439301:
> 
>   Merge 'tip/perf/urgent' into perf/core to pick fixes (2015-03-02 11:45:49 
> -0300)
> 
> are available in the git repository at:
> 
> 
>   git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git 
> tags/perf-core-for-mingo
> 
> for you to fetch changes up to ae536acfacb65a4a9858c32b12361e09f84f4157:
> 
>   perf sched: No need to keep the session around (2015-03-03 00:17:12 -0300)
> 
> 
> perf/core improvements and fixes:
> 
> User visible:
> 
> - Warn if given uprobe event accesses memory on older kernel (Masami 
> Hiramatsu)
> 
> - 'perf record' Documentation fixes (Namhyung Kim)
> 
> - Report unsupported events properly in 'perf stat' (Suzuki K. Poulose)
> 
> Infrastructure:
> 
> - Avoid FORK after COMM when synthesizing records for pre-existing threads 
> (Arnaldo Carvalho de Melo)
> 
> - Reference count struct thread (Arnaldo Carvalho de Melo)
> 
> - No need to keep the session around in 'perf sched', thread refcounting 
> removes that need (Arnaldo Carvalho de Melo)
> 
> - Initialize cpu set in pthread_attr_setaffinity_np feature test (Adrian 
> Hunter)
> 
> - Only include tsc file for x86 (David Ahern)
> 
> - Compare JOBS to 0 after grep (David Ahern)
> 
> - Improve feature detection messages (Ingo Molnar)
> 
> - Revert "perf: Remove the extra validity check on nr_pages" (Kan Liang)
> 
> - Remove bias offset to find probe point by address (Masami Hiramatsu)
> 
> - Fix build error on ARCH=i386/x86_64/sparc64 )Namhyung Kim)
> 
> Signed-off-by: Arnaldo Carvalho de Melo 
> 
> 
> Adrian Hunter (1):
>   perf tools: Initialize cpu set in pthread_attr_setaffinity_np feature 
> test
> 
> Arnaldo Carvalho de Melo (3):
>   perf tools: Fix FORK after COMM when synthesizing records for 
> pre-existing threads
>   perf tools: Reference count struct thread
>   perf sched: No need to keep the session around
> 
> David Ahern (2):
>   perf tools: Only include tsc file for x86
>   perf tools: Compare JOBS to 0 after grep
> 
> Ingo Molnar (7):
>   perf tools: Add PERF-FEATURES to the .gitignore file
>   perf tools: Remove annoying extra message from the features build
>   perf tools: Improve Python feature detection messages
>   perf tools: Improve libperl detection message
>   perf tools: Improve libbfd detection message
>   perf tools: Improve feature test debuggability
>   perf tools: Improve 'libbabel' feature check failure message
> 
> Kan Liang (1):
>   Revert "perf: Remove the extra validity check on nr_pages"
> 
> Masami Hiramatsu (2):
>   perf probe: Warn if given uprobe event accesses memory on older kernel
>   perf probe: Remove bias offset to find probe point by address
> 
> Namhyung Kim (3):
>   perf tools: Fix build error on ARCH=i386/x86_64/sparc64
>   perf record: Get rid of -l option from Documentation
>   perf record: Document --group option
> 
> Suzuki K. Poulose (1):
>   perf stat: Report unsupported events properly
> 
>  kernel/events/core.c   |  2 +-
>  tools/perf/.gitignore  |  1 +
>  tools/perf/Documentation/perf-record.txt   | 12 --
>  tools/perf/Makefile|  2 +-
>  tools/perf/builtin-sched.c | 26 +
>  tools/perf/builtin-stat.c  |  5 ++-
>  tools/perf/builtin-trace.c |  7 +++-
>  tools/perf/config/Makefile 

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

2015-03-02 Thread Arnaldo Carvalho de Melo
Hi Ingo,

This one has the thread reference counting, that I tested using 'perf 
probe':

  perf probe -x ~/bin/perf 'thread__delete:4 thread refcnt=thread->refcnt 
tid=thread->tid'
  perf probe -x ~/bin/perf 'thread__get:1 thread refcnt=thread->refcnt 
tid=thread->tid'
  perf probe -x ~/bin/perf 'thread__put:6 thread refcnt=thread->refcnt 
tid=thread->tid'
  perf record -o thread_refcnt.data -g -e 
probe_perf:thread__put,probe_perf:thread__get_1,probe_perf:thread__delete perf 
top

with that I checked and in the end the refcount reaches zero and
thread__delete is called, as expected, using 'perf script', looking at the
callchains, etc, did the same for 'perf sched lat' and 'trace' also seems to
work.

David, Namhyung, please holler if you find something fishy with this
thread refcnt stuff, as it is something that is related to previous/current
work by you guys,

Ah, I also merged perf/urgent so that it is buildable in more systems.o

There is also the revert for that is_power_of_2 "simplification" in 
perf_mmap,
that hasn't made it to perf/urgent nor upstream, its something only in 
perf/core, sorry
about that one, should have caught that :-\

Please consider pulling,

- Arnaldo
The following changes since commit 33be4ef116511f1079c4c3bf4b5547faf7439301:

  Merge 'tip/perf/urgent' into perf/core to pick fixes (2015-03-02 11:45:49 
-0300)

are available in the git repository at:


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

for you to fetch changes up to ae536acfacb65a4a9858c32b12361e09f84f4157:

  perf sched: No need to keep the session around (2015-03-03 00:17:12 -0300)


perf/core improvements and fixes:

User visible:

- Warn if given uprobe event accesses memory on older kernel (Masami Hiramatsu)

- 'perf record' Documentation fixes (Namhyung Kim)

- Report unsupported events properly in 'perf stat' (Suzuki K. Poulose)

Infrastructure:

- Avoid FORK after COMM when synthesizing records for pre-existing threads 
(Arnaldo Carvalho de Melo)

- Reference count struct thread (Arnaldo Carvalho de Melo)

- No need to keep the session around in 'perf sched', thread refcounting 
removes that need (Arnaldo Carvalho de Melo)

- Initialize cpu set in pthread_attr_setaffinity_np feature test (Adrian Hunter)

- Only include tsc file for x86 (David Ahern)

- Compare JOBS to 0 after grep (David Ahern)

- Improve feature detection messages (Ingo Molnar)

- Revert "perf: Remove the extra validity check on nr_pages" (Kan Liang)

- Remove bias offset to find probe point by address (Masami Hiramatsu)

- Fix build error on ARCH=i386/x86_64/sparc64 )Namhyung Kim)

Signed-off-by: Arnaldo Carvalho de Melo 


Adrian Hunter (1):
  perf tools: Initialize cpu set in pthread_attr_setaffinity_np feature test

Arnaldo Carvalho de Melo (3):
  perf tools: Fix FORK after COMM when synthesizing records for 
pre-existing threads
  perf tools: Reference count struct thread
  perf sched: No need to keep the session around

David Ahern (2):
  perf tools: Only include tsc file for x86
  perf tools: Compare JOBS to 0 after grep

Ingo Molnar (7):
  perf tools: Add PERF-FEATURES to the .gitignore file
  perf tools: Remove annoying extra message from the features build
  perf tools: Improve Python feature detection messages
  perf tools: Improve libperl detection message
  perf tools: Improve libbfd detection message
  perf tools: Improve feature test debuggability
  perf tools: Improve 'libbabel' feature check failure message

Kan Liang (1):
  Revert "perf: Remove the extra validity check on nr_pages"

Masami Hiramatsu (2):
  perf probe: Warn if given uprobe event accesses memory on older kernel
  perf probe: Remove bias offset to find probe point by address

Namhyung Kim (3):
  perf tools: Fix build error on ARCH=i386/x86_64/sparc64
  perf record: Get rid of -l option from Documentation
  perf record: Document --group option

Suzuki K. Poulose (1):
  perf stat: Report unsupported events properly

 kernel/events/core.c   |  2 +-
 tools/perf/.gitignore  |  1 +
 tools/perf/Documentation/perf-record.txt   | 12 --
 tools/perf/Makefile|  2 +-
 tools/perf/builtin-sched.c | 26 +
 tools/perf/builtin-stat.c  |  5 ++-
 tools/perf/builtin-trace.c |  7 +++-
 tools/perf/config/Makefile | 17 -
 tools/perf/config/Makefile.arch| 27 +++--
 tools/perf/config/feature-checks/Makefile  | 16 
 .../test-pthread-attr-setaffinity-np.c |  4 +-
 tools/perf/config/utilities.mak|  3 +-
 

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

2015-03-02 Thread Arnaldo Carvalho de Melo
Hi Ingo,

This one has the thread reference counting, that I tested using 'perf 
probe':

  perf probe -x ~/bin/perf 'thread__delete:4 thread refcnt=thread-refcnt 
tid=thread-tid'
  perf probe -x ~/bin/perf 'thread__get:1 thread refcnt=thread-refcnt 
tid=thread-tid'
  perf probe -x ~/bin/perf 'thread__put:6 thread refcnt=thread-refcnt 
tid=thread-tid'
  perf record -o thread_refcnt.data -g -e 
probe_perf:thread__put,probe_perf:thread__get_1,probe_perf:thread__delete perf 
top

with that I checked and in the end the refcount reaches zero and
thread__delete is called, as expected, using 'perf script', looking at the
callchains, etc, did the same for 'perf sched lat' and 'trace' also seems to
work.

David, Namhyung, please holler if you find something fishy with this
thread refcnt stuff, as it is something that is related to previous/current
work by you guys,

Ah, I also merged perf/urgent so that it is buildable in more systems.o

There is also the revert for that is_power_of_2 simplification in 
perf_mmap,
that hasn't made it to perf/urgent nor upstream, its something only in 
perf/core, sorry
about that one, should have caught that :-\

Please consider pulling,

- Arnaldo
The following changes since commit 33be4ef116511f1079c4c3bf4b5547faf7439301:

  Merge 'tip/perf/urgent' into perf/core to pick fixes (2015-03-02 11:45:49 
-0300)

are available in the git repository at:


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

for you to fetch changes up to ae536acfacb65a4a9858c32b12361e09f84f4157:

  perf sched: No need to keep the session around (2015-03-03 00:17:12 -0300)


perf/core improvements and fixes:

User visible:

- Warn if given uprobe event accesses memory on older kernel (Masami Hiramatsu)

- 'perf record' Documentation fixes (Namhyung Kim)

- Report unsupported events properly in 'perf stat' (Suzuki K. Poulose)

Infrastructure:

- Avoid FORK after COMM when synthesizing records for pre-existing threads 
(Arnaldo Carvalho de Melo)

- Reference count struct thread (Arnaldo Carvalho de Melo)

- No need to keep the session around in 'perf sched', thread refcounting 
removes that need (Arnaldo Carvalho de Melo)

- Initialize cpu set in pthread_attr_setaffinity_np feature test (Adrian Hunter)

- Only include tsc file for x86 (David Ahern)

- Compare JOBS to 0 after grep (David Ahern)

- Improve feature detection messages (Ingo Molnar)

- Revert perf: Remove the extra validity check on nr_pages (Kan Liang)

- Remove bias offset to find probe point by address (Masami Hiramatsu)

- Fix build error on ARCH=i386/x86_64/sparc64 )Namhyung Kim)

Signed-off-by: Arnaldo Carvalho de Melo a...@redhat.com


Adrian Hunter (1):
  perf tools: Initialize cpu set in pthread_attr_setaffinity_np feature test

Arnaldo Carvalho de Melo (3):
  perf tools: Fix FORK after COMM when synthesizing records for 
pre-existing threads
  perf tools: Reference count struct thread
  perf sched: No need to keep the session around

David Ahern (2):
  perf tools: Only include tsc file for x86
  perf tools: Compare JOBS to 0 after grep

Ingo Molnar (7):
  perf tools: Add PERF-FEATURES to the .gitignore file
  perf tools: Remove annoying extra message from the features build
  perf tools: Improve Python feature detection messages
  perf tools: Improve libperl detection message
  perf tools: Improve libbfd detection message
  perf tools: Improve feature test debuggability
  perf tools: Improve 'libbabel' feature check failure message

Kan Liang (1):
  Revert perf: Remove the extra validity check on nr_pages

Masami Hiramatsu (2):
  perf probe: Warn if given uprobe event accesses memory on older kernel
  perf probe: Remove bias offset to find probe point by address

Namhyung Kim (3):
  perf tools: Fix build error on ARCH=i386/x86_64/sparc64
  perf record: Get rid of -l option from Documentation
  perf record: Document --group option

Suzuki K. Poulose (1):
  perf stat: Report unsupported events properly

 kernel/events/core.c   |  2 +-
 tools/perf/.gitignore  |  1 +
 tools/perf/Documentation/perf-record.txt   | 12 --
 tools/perf/Makefile|  2 +-
 tools/perf/builtin-sched.c | 26 +
 tools/perf/builtin-stat.c  |  5 ++-
 tools/perf/builtin-trace.c |  7 +++-
 tools/perf/config/Makefile | 17 -
 tools/perf/config/Makefile.arch| 27 +++--
 tools/perf/config/feature-checks/Makefile  | 16 
 .../test-pthread-attr-setaffinity-np.c |  4 +-
 tools/perf/config/utilities.mak|  3 +-
 

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

2015-03-02 Thread Ingo Molnar

* Arnaldo Carvalho de Melo a...@kernel.org wrote:

 Hi Ingo,
 
   This one has the thread reference counting, that I tested using 'perf 
 probe':
 
   perf probe -x ~/bin/perf 'thread__delete:4 thread refcnt=thread-refcnt 
 tid=thread-tid'
   perf probe -x ~/bin/perf 'thread__get:1 thread refcnt=thread-refcnt 
 tid=thread-tid'
   perf probe -x ~/bin/perf 'thread__put:6 thread refcnt=thread-refcnt 
 tid=thread-tid'
   perf record -o thread_refcnt.data -g -e 
 probe_perf:thread__put,probe_perf:thread__get_1,probe_perf:thread__delete 
 perf top
 
   with that I checked and in the end the refcount reaches zero and
 thread__delete is called, as expected, using 'perf script', looking at the
 callchains, etc, did the same for 'perf sched lat' and 'trace' also seems to
 work.
 
   David, Namhyung, please holler if you find something fishy with this
 thread refcnt stuff, as it is something that is related to previous/current
 work by you guys,
 
   Ah, I also merged perf/urgent so that it is buildable in more systems.o
 
   There is also the revert for that is_power_of_2 simplification in 
 perf_mmap,
 that hasn't made it to perf/urgent nor upstream, its something only in 
 perf/core, sorry
 about that one, should have caught that :-\
 
   Please consider pulling,
 
 - Arnaldo
 The following changes since commit 33be4ef116511f1079c4c3bf4b5547faf7439301:
 
   Merge 'tip/perf/urgent' into perf/core to pick fixes (2015-03-02 11:45:49 
 -0300)
 
 are available in the git repository at:
 
 
   git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git 
 tags/perf-core-for-mingo
 
 for you to fetch changes up to ae536acfacb65a4a9858c32b12361e09f84f4157:
 
   perf sched: No need to keep the session around (2015-03-03 00:17:12 -0300)
 
 
 perf/core improvements and fixes:
 
 User visible:
 
 - Warn if given uprobe event accesses memory on older kernel (Masami 
 Hiramatsu)
 
 - 'perf record' Documentation fixes (Namhyung Kim)
 
 - Report unsupported events properly in 'perf stat' (Suzuki K. Poulose)
 
 Infrastructure:
 
 - Avoid FORK after COMM when synthesizing records for pre-existing threads 
 (Arnaldo Carvalho de Melo)
 
 - Reference count struct thread (Arnaldo Carvalho de Melo)
 
 - No need to keep the session around in 'perf sched', thread refcounting 
 removes that need (Arnaldo Carvalho de Melo)
 
 - Initialize cpu set in pthread_attr_setaffinity_np feature test (Adrian 
 Hunter)
 
 - Only include tsc file for x86 (David Ahern)
 
 - Compare JOBS to 0 after grep (David Ahern)
 
 - Improve feature detection messages (Ingo Molnar)
 
 - Revert perf: Remove the extra validity check on nr_pages (Kan Liang)
 
 - Remove bias offset to find probe point by address (Masami Hiramatsu)
 
 - Fix build error on ARCH=i386/x86_64/sparc64 )Namhyung Kim)
 
 Signed-off-by: Arnaldo Carvalho de Melo a...@redhat.com
 
 
 Adrian Hunter (1):
   perf tools: Initialize cpu set in pthread_attr_setaffinity_np feature 
 test
 
 Arnaldo Carvalho de Melo (3):
   perf tools: Fix FORK after COMM when synthesizing records for 
 pre-existing threads
   perf tools: Reference count struct thread
   perf sched: No need to keep the session around
 
 David Ahern (2):
   perf tools: Only include tsc file for x86
   perf tools: Compare JOBS to 0 after grep
 
 Ingo Molnar (7):
   perf tools: Add PERF-FEATURES to the .gitignore file
   perf tools: Remove annoying extra message from the features build
   perf tools: Improve Python feature detection messages
   perf tools: Improve libperl detection message
   perf tools: Improve libbfd detection message
   perf tools: Improve feature test debuggability
   perf tools: Improve 'libbabel' feature check failure message
 
 Kan Liang (1):
   Revert perf: Remove the extra validity check on nr_pages
 
 Masami Hiramatsu (2):
   perf probe: Warn if given uprobe event accesses memory on older kernel
   perf probe: Remove bias offset to find probe point by address
 
 Namhyung Kim (3):
   perf tools: Fix build error on ARCH=i386/x86_64/sparc64
   perf record: Get rid of -l option from Documentation
   perf record: Document --group option
 
 Suzuki K. Poulose (1):
   perf stat: Report unsupported events properly
 
  kernel/events/core.c   |  2 +-
  tools/perf/.gitignore  |  1 +
  tools/perf/Documentation/perf-record.txt   | 12 --
  tools/perf/Makefile|  2 +-
  tools/perf/builtin-sched.c | 26 +
  tools/perf/builtin-stat.c  |  5 ++-
  tools/perf/builtin-trace.c |  7 +++-
  tools/perf/config/Makefile | 17 -
  tools/perf/config/Makefile.arch| 27 +++--
  

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

2014-09-18 Thread Ingo Molnar

* Arnaldo Carvalho de Melo  wrote:

> Hi Ingo,
> 
>   Please consider pulling,
> 
> - Arnaldo
> 
> The following changes since commit c88f2096136416b261bd3647cc260935f6e95805:
> 
>   perf: Do not check PERF_EVENT_STATE_EXIT on syscall read path (2014-09-16 
> 10:30:36 +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
> 
> for you to fetch changes up to e5685730e2c620f97bc12380e9370e857e5bd7a7:
> 
>   perf record: Use ring buffer consume method to look like other tools 
> (2014-09-17 18:01:43 -0300)
> 
> 
> perf/core improvements and fixes:
> 
> User visible:
> 
> o Add +field argument support for --sort option (Jiri Olsa)
> 
> o Do not access kallsyms when analyzing user binaries with 'probe' (Masami 
> Hiramatsu)
> 
> o Ignore stripped vmlinux and fallback to kallsyms (Anton Blanchard)
> 
> o Add path to Ubuntu kernel debuginfo file (Anton Blanchard)
> 
> o Disable kernel symbol demangling by default (Avi Kivity)
> 
> Infrastructure:
> 
> o More intel PT prep work, from Adrian Hunter, including:
> 
>   - Let a user specify a PMU event without any config terms
>   - Add perf-with-kcore script
>   - Let default config be defined for a PMU
>   - Add perf_pmu__scan_file()
> 
> o "perf kvm stat report" improvements by Alexander Yarygin:
>   o  Save pid string in opts.target.pid
>   o  Enable the target.system_wide flag
>   o  Unify the title bar output
> 
> o Fix build issue on powerpc when DWARF support is disabled (Anton Blanchard)
> 
> o Allow to specify lib compile variable for spec usage (Jiri Olsa)
> 
> o Fix build on ARM (Stephane Eranian)
> 
> o Fix build on powerpc when DWARF support is disabled (Anton Blanchard)
> 
> o Don't include sys/poll.h directly (Arnaldo Carvalho de Melo)
> 
> o Use ring buffer consume method to look like other tools (Arnaldo Carvalho 
> de Melo)
> 
> Chanho Park (1):
>   perf tools: define _DEFAULT_SOURCE for glibc_2.20
> 
> o Allow to specify lib compile variable for spec usage (Jiri Olsa)
> 
> o Fix GNU-only grep usage in Makefile (John Spencer)
> 
> Signed-off-by: Arnaldo Carvalho de Melo 
> 
> 
> Adrian Hunter (4):
>   perf tools: Let a user specify a PMU event without any config terms
>   perf tools: Add perf-with-kcore script
>   perf tools: Let default config be defined for a PMU
>   perf tools: Add perf_pmu__scan_file()
> 
> Alexander Yarygin (3):
>   perf kvm stat report: Save pid string in opts.target.pid
>   perf kvm stat report: Enable the target.system_wide flag
>   perf kvm stat report: Unify the title bar output
> 
> Anton Blanchard (3):
>   perf tools powerpc: Fix build issue when DWARF support is disabled
>   perf symbols: Ignore stripped vmlinux and fallback to kallsyms
>   perf symbols: Add path to Ubuntu kernel debuginfo file
> 
> Arnaldo Carvalho de Melo (2):
>   perf tools: Don't include sys/poll.h directly
>   perf record: Use ring buffer consume method to look like other tools
> 
> Avi Kivity (1):
>   perf tools: Disable kernel symbol demangling by default
> 
> Chanho Park (1):
>   perf tools: define _DEFAULT_SOURCE for glibc_2.20
> 
> Jiri Olsa (2):
>   perf tools: Add +field argument support for --sort option
>   perf tools: Allow to specify lib compile variable for spec usage
> 
> John Spencer (1):
>   perf tools: Fix GNU-only grep usage in Makefile
> 
> Masami Hiramatsu (2):
>   perf probe: Do not access kallsyms when analyzing user binaries
>   perf probe: Do not use dwfl_module_addrsym if dwarf_diename finds 
> symbol name
> 
> Stephane Eranian (1):
>   perf tool: fix compilation for ARM
> 
>  tools/perf/.gitignore   |   1 +
>  tools/perf/Documentation/perf-probe.txt |   3 +
>  tools/perf/Documentation/perf-report.txt|   3 +
>  tools/perf/Documentation/perf-top.txt   |   3 +
>  tools/perf/Makefile.perf|   5 +-
>  tools/perf/arch/arm/tests/dwarf-unwind.c|   1 +
>  tools/perf/arch/arm/util/unwind-libunwind.c |   1 +
>  tools/perf/arch/powerpc/Makefile|   2 +-
>  tools/perf/bench/sched-messaging.c  |   2 +-
>  tools/perf/builtin-kvm.c|  23 +--
>  tools/perf/builtin-probe.c  |   5 +-
>  tools/perf/builtin-record.c |   8 +-
>  tools/perf/builtin-report.c |   2 +
>  tools/perf/builtin-top.c|   4 +-
>  tools/perf/config/Makefile  |  12 +-
>  tools/perf/config/utilities.mak |   2 +-
>  tools/perf/perf-with-kcore.sh   | 259 
> 
>  tools/perf/tests/pmu.c  |   2 +-
>  tools/perf/util/kvm-stat.h  |   1 -
>  tools/perf/util/parse-events.c  |  13 +-
>  

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

2014-09-18 Thread Ingo Molnar

* Arnaldo Carvalho de Melo a...@kernel.org wrote:

 Hi Ingo,
 
   Please consider pulling,
 
 - Arnaldo
 
 The following changes since commit c88f2096136416b261bd3647cc260935f6e95805:
 
   perf: Do not check PERF_EVENT_STATE_EXIT on syscall read path (2014-09-16 
 10:30:36 +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
 
 for you to fetch changes up to e5685730e2c620f97bc12380e9370e857e5bd7a7:
 
   perf record: Use ring buffer consume method to look like other tools 
 (2014-09-17 18:01:43 -0300)
 
 
 perf/core improvements and fixes:
 
 User visible:
 
 o Add +field argument support for --sort option (Jiri Olsa)
 
 o Do not access kallsyms when analyzing user binaries with 'probe' (Masami 
 Hiramatsu)
 
 o Ignore stripped vmlinux and fallback to kallsyms (Anton Blanchard)
 
 o Add path to Ubuntu kernel debuginfo file (Anton Blanchard)
 
 o Disable kernel symbol demangling by default (Avi Kivity)
 
 Infrastructure:
 
 o More intel PT prep work, from Adrian Hunter, including:
 
   - Let a user specify a PMU event without any config terms
   - Add perf-with-kcore script
   - Let default config be defined for a PMU
   - Add perf_pmu__scan_file()
 
 o perf kvm stat report improvements by Alexander Yarygin:
   o  Save pid string in opts.target.pid
   o  Enable the target.system_wide flag
   o  Unify the title bar output
 
 o Fix build issue on powerpc when DWARF support is disabled (Anton Blanchard)
 
 o Allow to specify lib compile variable for spec usage (Jiri Olsa)
 
 o Fix build on ARM (Stephane Eranian)
 
 o Fix build on powerpc when DWARF support is disabled (Anton Blanchard)
 
 o Don't include sys/poll.h directly (Arnaldo Carvalho de Melo)
 
 o Use ring buffer consume method to look like other tools (Arnaldo Carvalho 
 de Melo)
 
 Chanho Park (1):
   perf tools: define _DEFAULT_SOURCE for glibc_2.20
 
 o Allow to specify lib compile variable for spec usage (Jiri Olsa)
 
 o Fix GNU-only grep usage in Makefile (John Spencer)
 
 Signed-off-by: Arnaldo Carvalho de Melo a...@redhat.com
 
 
 Adrian Hunter (4):
   perf tools: Let a user specify a PMU event without any config terms
   perf tools: Add perf-with-kcore script
   perf tools: Let default config be defined for a PMU
   perf tools: Add perf_pmu__scan_file()
 
 Alexander Yarygin (3):
   perf kvm stat report: Save pid string in opts.target.pid
   perf kvm stat report: Enable the target.system_wide flag
   perf kvm stat report: Unify the title bar output
 
 Anton Blanchard (3):
   perf tools powerpc: Fix build issue when DWARF support is disabled
   perf symbols: Ignore stripped vmlinux and fallback to kallsyms
   perf symbols: Add path to Ubuntu kernel debuginfo file
 
 Arnaldo Carvalho de Melo (2):
   perf tools: Don't include sys/poll.h directly
   perf record: Use ring buffer consume method to look like other tools
 
 Avi Kivity (1):
   perf tools: Disable kernel symbol demangling by default
 
 Chanho Park (1):
   perf tools: define _DEFAULT_SOURCE for glibc_2.20
 
 Jiri Olsa (2):
   perf tools: Add +field argument support for --sort option
   perf tools: Allow to specify lib compile variable for spec usage
 
 John Spencer (1):
   perf tools: Fix GNU-only grep usage in Makefile
 
 Masami Hiramatsu (2):
   perf probe: Do not access kallsyms when analyzing user binaries
   perf probe: Do not use dwfl_module_addrsym if dwarf_diename finds 
 symbol name
 
 Stephane Eranian (1):
   perf tool: fix compilation for ARM
 
  tools/perf/.gitignore   |   1 +
  tools/perf/Documentation/perf-probe.txt |   3 +
  tools/perf/Documentation/perf-report.txt|   3 +
  tools/perf/Documentation/perf-top.txt   |   3 +
  tools/perf/Makefile.perf|   5 +-
  tools/perf/arch/arm/tests/dwarf-unwind.c|   1 +
  tools/perf/arch/arm/util/unwind-libunwind.c |   1 +
  tools/perf/arch/powerpc/Makefile|   2 +-
  tools/perf/bench/sched-messaging.c  |   2 +-
  tools/perf/builtin-kvm.c|  23 +--
  tools/perf/builtin-probe.c  |   5 +-
  tools/perf/builtin-record.c |   8 +-
  tools/perf/builtin-report.c |   2 +
  tools/perf/builtin-top.c|   4 +-
  tools/perf/config/Makefile  |  12 +-
  tools/perf/config/utilities.mak |   2 +-
  tools/perf/perf-with-kcore.sh   | 259 
 
  tools/perf/tests/pmu.c  |   2 +-
  tools/perf/util/kvm-stat.h  |   1 -
  tools/perf/util/parse-events.c  |  13 +-
  tools/perf/util/parse-events.y  |  10 ++
  tools/perf/util/pmu.c   |  79 +++--
  

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

2014-09-17 Thread Arnaldo Carvalho de Melo
Hi Ingo,

Please consider pulling,

- Arnaldo

The following changes since commit c88f2096136416b261bd3647cc260935f6e95805:

  perf: Do not check PERF_EVENT_STATE_EXIT on syscall read path (2014-09-16 
10:30:36 +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

for you to fetch changes up to e5685730e2c620f97bc12380e9370e857e5bd7a7:

  perf record: Use ring buffer consume method to look like other tools 
(2014-09-17 18:01:43 -0300)


perf/core improvements and fixes:

User visible:

o Add +field argument support for --sort option (Jiri Olsa)

o Do not access kallsyms when analyzing user binaries with 'probe' (Masami 
Hiramatsu)

o Ignore stripped vmlinux and fallback to kallsyms (Anton Blanchard)

o Add path to Ubuntu kernel debuginfo file (Anton Blanchard)

o Disable kernel symbol demangling by default (Avi Kivity)

Infrastructure:

o More intel PT prep work, from Adrian Hunter, including:

  - Let a user specify a PMU event without any config terms
  - Add perf-with-kcore script
  - Let default config be defined for a PMU
  - Add perf_pmu__scan_file()

o "perf kvm stat report" improvements by Alexander Yarygin:
  o  Save pid string in opts.target.pid
  o  Enable the target.system_wide flag
  o  Unify the title bar output

o Fix build issue on powerpc when DWARF support is disabled (Anton Blanchard)

o Allow to specify lib compile variable for spec usage (Jiri Olsa)

o Fix build on ARM (Stephane Eranian)

o Fix build on powerpc when DWARF support is disabled (Anton Blanchard)

o Don't include sys/poll.h directly (Arnaldo Carvalho de Melo)

o Use ring buffer consume method to look like other tools (Arnaldo Carvalho de 
Melo)

Chanho Park (1):
  perf tools: define _DEFAULT_SOURCE for glibc_2.20

o Allow to specify lib compile variable for spec usage (Jiri Olsa)

o Fix GNU-only grep usage in Makefile (John Spencer)

Signed-off-by: Arnaldo Carvalho de Melo 


Adrian Hunter (4):
  perf tools: Let a user specify a PMU event without any config terms
  perf tools: Add perf-with-kcore script
  perf tools: Let default config be defined for a PMU
  perf tools: Add perf_pmu__scan_file()

Alexander Yarygin (3):
  perf kvm stat report: Save pid string in opts.target.pid
  perf kvm stat report: Enable the target.system_wide flag
  perf kvm stat report: Unify the title bar output

Anton Blanchard (3):
  perf tools powerpc: Fix build issue when DWARF support is disabled
  perf symbols: Ignore stripped vmlinux and fallback to kallsyms
  perf symbols: Add path to Ubuntu kernel debuginfo file

Arnaldo Carvalho de Melo (2):
  perf tools: Don't include sys/poll.h directly
  perf record: Use ring buffer consume method to look like other tools

Avi Kivity (1):
  perf tools: Disable kernel symbol demangling by default

Chanho Park (1):
  perf tools: define _DEFAULT_SOURCE for glibc_2.20

Jiri Olsa (2):
  perf tools: Add +field argument support for --sort option
  perf tools: Allow to specify lib compile variable for spec usage

John Spencer (1):
  perf tools: Fix GNU-only grep usage in Makefile

Masami Hiramatsu (2):
  perf probe: Do not access kallsyms when analyzing user binaries
  perf probe: Do not use dwfl_module_addrsym if dwarf_diename finds symbol 
name

Stephane Eranian (1):
  perf tool: fix compilation for ARM

 tools/perf/.gitignore   |   1 +
 tools/perf/Documentation/perf-probe.txt |   3 +
 tools/perf/Documentation/perf-report.txt|   3 +
 tools/perf/Documentation/perf-top.txt   |   3 +
 tools/perf/Makefile.perf|   5 +-
 tools/perf/arch/arm/tests/dwarf-unwind.c|   1 +
 tools/perf/arch/arm/util/unwind-libunwind.c |   1 +
 tools/perf/arch/powerpc/Makefile|   2 +-
 tools/perf/bench/sched-messaging.c  |   2 +-
 tools/perf/builtin-kvm.c|  23 +--
 tools/perf/builtin-probe.c  |   5 +-
 tools/perf/builtin-record.c |   8 +-
 tools/perf/builtin-report.c |   2 +
 tools/perf/builtin-top.c|   4 +-
 tools/perf/config/Makefile  |  12 +-
 tools/perf/config/utilities.mak |   2 +-
 tools/perf/perf-with-kcore.sh   | 259 
 tools/perf/tests/pmu.c  |   2 +-
 tools/perf/util/kvm-stat.h  |   1 -
 tools/perf/util/parse-events.c  |  13 +-
 tools/perf/util/parse-events.y  |  10 ++
 tools/perf/util/pmu.c   |  79 +++--
 tools/perf/util/pmu.h   |  12 +-
 tools/perf/util/probe-event.c   |   9 +-
 tools/perf/util/probe-event.h   |   3 +-
 tools/perf/util/probe-finder.c  |  16 +-
 

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

2014-09-17 Thread Arnaldo Carvalho de Melo
Hi Ingo,

Please consider pulling,

- Arnaldo

The following changes since commit c88f2096136416b261bd3647cc260935f6e95805:

  perf: Do not check PERF_EVENT_STATE_EXIT on syscall read path (2014-09-16 
10:30:36 +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

for you to fetch changes up to e5685730e2c620f97bc12380e9370e857e5bd7a7:

  perf record: Use ring buffer consume method to look like other tools 
(2014-09-17 18:01:43 -0300)


perf/core improvements and fixes:

User visible:

o Add +field argument support for --sort option (Jiri Olsa)

o Do not access kallsyms when analyzing user binaries with 'probe' (Masami 
Hiramatsu)

o Ignore stripped vmlinux and fallback to kallsyms (Anton Blanchard)

o Add path to Ubuntu kernel debuginfo file (Anton Blanchard)

o Disable kernel symbol demangling by default (Avi Kivity)

Infrastructure:

o More intel PT prep work, from Adrian Hunter, including:

  - Let a user specify a PMU event without any config terms
  - Add perf-with-kcore script
  - Let default config be defined for a PMU
  - Add perf_pmu__scan_file()

o perf kvm stat report improvements by Alexander Yarygin:
  o  Save pid string in opts.target.pid
  o  Enable the target.system_wide flag
  o  Unify the title bar output

o Fix build issue on powerpc when DWARF support is disabled (Anton Blanchard)

o Allow to specify lib compile variable for spec usage (Jiri Olsa)

o Fix build on ARM (Stephane Eranian)

o Fix build on powerpc when DWARF support is disabled (Anton Blanchard)

o Don't include sys/poll.h directly (Arnaldo Carvalho de Melo)

o Use ring buffer consume method to look like other tools (Arnaldo Carvalho de 
Melo)

Chanho Park (1):
  perf tools: define _DEFAULT_SOURCE for glibc_2.20

o Allow to specify lib compile variable for spec usage (Jiri Olsa)

o Fix GNU-only grep usage in Makefile (John Spencer)

Signed-off-by: Arnaldo Carvalho de Melo a...@redhat.com


Adrian Hunter (4):
  perf tools: Let a user specify a PMU event without any config terms
  perf tools: Add perf-with-kcore script
  perf tools: Let default config be defined for a PMU
  perf tools: Add perf_pmu__scan_file()

Alexander Yarygin (3):
  perf kvm stat report: Save pid string in opts.target.pid
  perf kvm stat report: Enable the target.system_wide flag
  perf kvm stat report: Unify the title bar output

Anton Blanchard (3):
  perf tools powerpc: Fix build issue when DWARF support is disabled
  perf symbols: Ignore stripped vmlinux and fallback to kallsyms
  perf symbols: Add path to Ubuntu kernel debuginfo file

Arnaldo Carvalho de Melo (2):
  perf tools: Don't include sys/poll.h directly
  perf record: Use ring buffer consume method to look like other tools

Avi Kivity (1):
  perf tools: Disable kernel symbol demangling by default

Chanho Park (1):
  perf tools: define _DEFAULT_SOURCE for glibc_2.20

Jiri Olsa (2):
  perf tools: Add +field argument support for --sort option
  perf tools: Allow to specify lib compile variable for spec usage

John Spencer (1):
  perf tools: Fix GNU-only grep usage in Makefile

Masami Hiramatsu (2):
  perf probe: Do not access kallsyms when analyzing user binaries
  perf probe: Do not use dwfl_module_addrsym if dwarf_diename finds symbol 
name

Stephane Eranian (1):
  perf tool: fix compilation for ARM

 tools/perf/.gitignore   |   1 +
 tools/perf/Documentation/perf-probe.txt |   3 +
 tools/perf/Documentation/perf-report.txt|   3 +
 tools/perf/Documentation/perf-top.txt   |   3 +
 tools/perf/Makefile.perf|   5 +-
 tools/perf/arch/arm/tests/dwarf-unwind.c|   1 +
 tools/perf/arch/arm/util/unwind-libunwind.c |   1 +
 tools/perf/arch/powerpc/Makefile|   2 +-
 tools/perf/bench/sched-messaging.c  |   2 +-
 tools/perf/builtin-kvm.c|  23 +--
 tools/perf/builtin-probe.c  |   5 +-
 tools/perf/builtin-record.c |   8 +-
 tools/perf/builtin-report.c |   2 +
 tools/perf/builtin-top.c|   4 +-
 tools/perf/config/Makefile  |  12 +-
 tools/perf/config/utilities.mak |   2 +-
 tools/perf/perf-with-kcore.sh   | 259 
 tools/perf/tests/pmu.c  |   2 +-
 tools/perf/util/kvm-stat.h  |   1 -
 tools/perf/util/parse-events.c  |  13 +-
 tools/perf/util/parse-events.y  |  10 ++
 tools/perf/util/pmu.c   |  79 +++--
 tools/perf/util/pmu.h   |  12 +-
 tools/perf/util/probe-event.c   |   9 +-
 tools/perf/util/probe-event.h   |   3 +-
 tools/perf/util/probe-finder.c  |  

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

2013-12-16 Thread Ingo Molnar

* Arnaldo Carvalho de Melo  wrote:

> From: Arnaldo Carvalho de Melo 
> 
> Hi Ingo,
> 
>   Please consider pulling,
> 
> Regards,
> 
> - Arnaldo
> 
> The following changes since commit c7f2e3cd6c1f4932ccc4135d050eae3f7c7aef63:
> 
>   perf: Optimize ring-buffer write by depending on control dependencies 
> (2013-12-11 15:53:22 +0100)
> 
> are available in the git repository at:
> 
>   git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux 
> tags/perf-core-for-mingo
> 
> for you to fetch changes up to 41e12e580a7b0c151199f927193548b84d3e874c:
> 
>   tools lib traceevent: Refactor pevent_filter_match() to get rid of die() 
> (2013-12-13 10:30:22 -0300)
> 
> 
> perf/core improvements and fixes:
> 
> Fixes:
> 
> . Fix inverted error verification bug in thread__fork, from David Ahern.
> 
> New features:
> 
> . Shell completion for 'perf kvm', from Ramkumar Ramachandra.
> 
> Refactorings:
> 
> . Get rid of panic() like calls in libtraceevent, from Namyung Kim.
> 
> . Start carving out symbol parsing routines from perf, just moving routines to
>   topic files in tools/lib/symbol/, tools that want to use it need to 
> integrate
>   it directly, i.e. no tools/lib/symbol/Makefile is provided.
> 
> . Assorted refactoring patches, moving code around and adding
>   utility evlist methods that will be used in the IPT patchset,
>   from Adrian Hunter.
> 
> Signed-off-by: Arnaldo Carvalho de Melo 
> 
> 
> Adrian Hunter (5):
>   perf tools: Add perf_event_paranoid()
>   perf header: Allow header->data_offset to be predetermined
>   perf evlist: Add can_select_event() method
>   perf tools: Move mem_bswap32/64 to util.c
>   perf evlist: Add perf_evlist__to_front()
> 
> Arnaldo Carvalho de Melo (1):
>   tools lib symbol: Start carving out symbol parsing routines from perf
> 
> David Ahern (1):
>   perf tools: Fix inverted error verification bug in thread__fork
> 
> Namhyung Kim (12):
>   tools lib traceevent: Get rid of malloc_or_die() in show_error()
>   tools lib traceevent: Get rid of die in add_filter_type()
>   tools lib traceevent: Get rid of malloc_or_die() allocate_arg()
>   tools lib traceevent: Get rid of malloc_or_die() in read_token()
>   tools lib traceevent: Get rid of malloc_or_die() in find_event()
>   tools lib traceevent: Get rid of die() in add_right()
>   tools lib traceevent: Make add_left() return pevent_errno
>   tools lib traceevent: Get rid of die() in reparent_op_arg()
>   tools lib traceevent: Refactor create_arg_item()
>   tools lib traceevent: Refactor process_filter()
>   tools lib traceevent: Make pevent_filter_add_filter_str() return 
> pevent_errno
>   tools lib traceevent: Refactor pevent_filter_match() to get rid of die()
> 
> Ramkumar Ramachandra (1):
>   perf completion: Complete 'perf kvm'
> 
>  tools/lib/symbol/kallsyms.c |  58 +
>  tools/lib/symbol/kallsyms.h |  24 ++
>  tools/lib/traceevent/event-parse.h  |  43 ++-
>  tools/lib/traceevent/parse-filter.c | 507 
> ++--
>  tools/perf/MANIFEST |   2 +
>  tools/perf/Makefile.perf|   5 +
>  tools/perf/perf-completion.sh   |   4 +
>  tools/perf/util/event.c |   1 +
>  tools/perf/util/evlist.c|  20 +-
>  tools/perf/util/evlist.h|   5 +
>  tools/perf/util/header.c|   3 +-
>  tools/perf/util/machine.c   |   1 +
>  tools/perf/util/record.c|  37 +++
>  tools/perf/util/session.c   |  21 --
>  tools/perf/util/session.h   |   2 -
>  tools/perf/util/symbol-elf.c|   1 +
>  tools/perf/util/symbol.c|  69 +
>  tools/perf/util/symbol.h|   3 -
>  tools/perf/util/thread.c|   2 +-
>  tools/perf/util/util.c  |  41 +++
>  tools/perf/util/util.h  |   4 +
>  21 files changed, 550 insertions(+), 303 deletions(-)
>  create mode 100644 tools/lib/symbol/kallsyms.c
>  create mode 100644 tools/lib/symbol/kallsyms.h

Pulled, thanks a lot Arnaldo!

Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


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

2013-12-16 Thread Ingo Molnar

* Arnaldo Carvalho de Melo a...@infradead.org wrote:

 From: Arnaldo Carvalho de Melo a...@ghostprotocols.net
 
 Hi Ingo,
 
   Please consider pulling,
 
 Regards,
 
 - Arnaldo
 
 The following changes since commit c7f2e3cd6c1f4932ccc4135d050eae3f7c7aef63:
 
   perf: Optimize ring-buffer write by depending on control dependencies 
 (2013-12-11 15:53:22 +0100)
 
 are available in the git repository at:
 
   git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux 
 tags/perf-core-for-mingo
 
 for you to fetch changes up to 41e12e580a7b0c151199f927193548b84d3e874c:
 
   tools lib traceevent: Refactor pevent_filter_match() to get rid of die() 
 (2013-12-13 10:30:22 -0300)
 
 
 perf/core improvements and fixes:
 
 Fixes:
 
 . Fix inverted error verification bug in thread__fork, from David Ahern.
 
 New features:
 
 . Shell completion for 'perf kvm', from Ramkumar Ramachandra.
 
 Refactorings:
 
 . Get rid of panic() like calls in libtraceevent, from Namyung Kim.
 
 . Start carving out symbol parsing routines from perf, just moving routines to
   topic files in tools/lib/symbol/, tools that want to use it need to 
 integrate
   it directly, i.e. no tools/lib/symbol/Makefile is provided.
 
 . Assorted refactoring patches, moving code around and adding
   utility evlist methods that will be used in the IPT patchset,
   from Adrian Hunter.
 
 Signed-off-by: Arnaldo Carvalho de Melo a...@redhat.com
 
 
 Adrian Hunter (5):
   perf tools: Add perf_event_paranoid()
   perf header: Allow header-data_offset to be predetermined
   perf evlist: Add can_select_event() method
   perf tools: Move mem_bswap32/64 to util.c
   perf evlist: Add perf_evlist__to_front()
 
 Arnaldo Carvalho de Melo (1):
   tools lib symbol: Start carving out symbol parsing routines from perf
 
 David Ahern (1):
   perf tools: Fix inverted error verification bug in thread__fork
 
 Namhyung Kim (12):
   tools lib traceevent: Get rid of malloc_or_die() in show_error()
   tools lib traceevent: Get rid of die in add_filter_type()
   tools lib traceevent: Get rid of malloc_or_die() allocate_arg()
   tools lib traceevent: Get rid of malloc_or_die() in read_token()
   tools lib traceevent: Get rid of malloc_or_die() in find_event()
   tools lib traceevent: Get rid of die() in add_right()
   tools lib traceevent: Make add_left() return pevent_errno
   tools lib traceevent: Get rid of die() in reparent_op_arg()
   tools lib traceevent: Refactor create_arg_item()
   tools lib traceevent: Refactor process_filter()
   tools lib traceevent: Make pevent_filter_add_filter_str() return 
 pevent_errno
   tools lib traceevent: Refactor pevent_filter_match() to get rid of die()
 
 Ramkumar Ramachandra (1):
   perf completion: Complete 'perf kvm'
 
  tools/lib/symbol/kallsyms.c |  58 +
  tools/lib/symbol/kallsyms.h |  24 ++
  tools/lib/traceevent/event-parse.h  |  43 ++-
  tools/lib/traceevent/parse-filter.c | 507 
 ++--
  tools/perf/MANIFEST |   2 +
  tools/perf/Makefile.perf|   5 +
  tools/perf/perf-completion.sh   |   4 +
  tools/perf/util/event.c |   1 +
  tools/perf/util/evlist.c|  20 +-
  tools/perf/util/evlist.h|   5 +
  tools/perf/util/header.c|   3 +-
  tools/perf/util/machine.c   |   1 +
  tools/perf/util/record.c|  37 +++
  tools/perf/util/session.c   |  21 --
  tools/perf/util/session.h   |   2 -
  tools/perf/util/symbol-elf.c|   1 +
  tools/perf/util/symbol.c|  69 +
  tools/perf/util/symbol.h|   3 -
  tools/perf/util/thread.c|   2 +-
  tools/perf/util/util.c  |  41 +++
  tools/perf/util/util.h  |   4 +
  21 files changed, 550 insertions(+), 303 deletions(-)
  create mode 100644 tools/lib/symbol/kallsyms.c
  create mode 100644 tools/lib/symbol/kallsyms.h

Pulled, thanks a lot Arnaldo!

Ingo
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


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

2013-12-13 Thread Arnaldo Carvalho de Melo
From: Arnaldo Carvalho de Melo 

Hi Ingo,

Please consider pulling,

Regards,

- Arnaldo

The following changes since commit c7f2e3cd6c1f4932ccc4135d050eae3f7c7aef63:

  perf: Optimize ring-buffer write by depending on control dependencies 
(2013-12-11 15:53:22 +0100)

are available in the git repository at:

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

for you to fetch changes up to 41e12e580a7b0c151199f927193548b84d3e874c:

  tools lib traceevent: Refactor pevent_filter_match() to get rid of die() 
(2013-12-13 10:30:22 -0300)


perf/core improvements and fixes:

Fixes:

. Fix inverted error verification bug in thread__fork, from David Ahern.

New features:

. Shell completion for 'perf kvm', from Ramkumar Ramachandra.

Refactorings:

. Get rid of panic() like calls in libtraceevent, from Namyung Kim.

. Start carving out symbol parsing routines from perf, just moving routines to
  topic files in tools/lib/symbol/, tools that want to use it need to integrate
  it directly, i.e. no tools/lib/symbol/Makefile is provided.

. Assorted refactoring patches, moving code around and adding
  utility evlist methods that will be used in the IPT patchset,
  from Adrian Hunter.

Signed-off-by: Arnaldo Carvalho de Melo 


Adrian Hunter (5):
  perf tools: Add perf_event_paranoid()
  perf header: Allow header->data_offset to be predetermined
  perf evlist: Add can_select_event() method
  perf tools: Move mem_bswap32/64 to util.c
  perf evlist: Add perf_evlist__to_front()

Arnaldo Carvalho de Melo (1):
  tools lib symbol: Start carving out symbol parsing routines from perf

David Ahern (1):
  perf tools: Fix inverted error verification bug in thread__fork

Namhyung Kim (12):
  tools lib traceevent: Get rid of malloc_or_die() in show_error()
  tools lib traceevent: Get rid of die in add_filter_type()
  tools lib traceevent: Get rid of malloc_or_die() allocate_arg()
  tools lib traceevent: Get rid of malloc_or_die() in read_token()
  tools lib traceevent: Get rid of malloc_or_die() in find_event()
  tools lib traceevent: Get rid of die() in add_right()
  tools lib traceevent: Make add_left() return pevent_errno
  tools lib traceevent: Get rid of die() in reparent_op_arg()
  tools lib traceevent: Refactor create_arg_item()
  tools lib traceevent: Refactor process_filter()
  tools lib traceevent: Make pevent_filter_add_filter_str() return 
pevent_errno
  tools lib traceevent: Refactor pevent_filter_match() to get rid of die()

Ramkumar Ramachandra (1):
  perf completion: Complete 'perf kvm'

 tools/lib/symbol/kallsyms.c |  58 +
 tools/lib/symbol/kallsyms.h |  24 ++
 tools/lib/traceevent/event-parse.h  |  43 ++-
 tools/lib/traceevent/parse-filter.c | 507 ++--
 tools/perf/MANIFEST |   2 +
 tools/perf/Makefile.perf|   5 +
 tools/perf/perf-completion.sh   |   4 +
 tools/perf/util/event.c |   1 +
 tools/perf/util/evlist.c|  20 +-
 tools/perf/util/evlist.h|   5 +
 tools/perf/util/header.c|   3 +-
 tools/perf/util/machine.c   |   1 +
 tools/perf/util/record.c|  37 +++
 tools/perf/util/session.c   |  21 --
 tools/perf/util/session.h   |   2 -
 tools/perf/util/symbol-elf.c|   1 +
 tools/perf/util/symbol.c|  69 +
 tools/perf/util/symbol.h|   3 -
 tools/perf/util/thread.c|   2 +-
 tools/perf/util/util.c  |  41 +++
 tools/perf/util/util.h  |   4 +
 21 files changed, 550 insertions(+), 303 deletions(-)
 create mode 100644 tools/lib/symbol/kallsyms.c
 create mode 100644 tools/lib/symbol/kallsyms.h
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


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

2013-12-13 Thread Arnaldo Carvalho de Melo
From: Arnaldo Carvalho de Melo a...@ghostprotocols.net

Hi Ingo,

Please consider pulling,

Regards,

- Arnaldo

The following changes since commit c7f2e3cd6c1f4932ccc4135d050eae3f7c7aef63:

  perf: Optimize ring-buffer write by depending on control dependencies 
(2013-12-11 15:53:22 +0100)

are available in the git repository at:

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

for you to fetch changes up to 41e12e580a7b0c151199f927193548b84d3e874c:

  tools lib traceevent: Refactor pevent_filter_match() to get rid of die() 
(2013-12-13 10:30:22 -0300)


perf/core improvements and fixes:

Fixes:

. Fix inverted error verification bug in thread__fork, from David Ahern.

New features:

. Shell completion for 'perf kvm', from Ramkumar Ramachandra.

Refactorings:

. Get rid of panic() like calls in libtraceevent, from Namyung Kim.

. Start carving out symbol parsing routines from perf, just moving routines to
  topic files in tools/lib/symbol/, tools that want to use it need to integrate
  it directly, i.e. no tools/lib/symbol/Makefile is provided.

. Assorted refactoring patches, moving code around and adding
  utility evlist methods that will be used in the IPT patchset,
  from Adrian Hunter.

Signed-off-by: Arnaldo Carvalho de Melo a...@redhat.com


Adrian Hunter (5):
  perf tools: Add perf_event_paranoid()
  perf header: Allow header-data_offset to be predetermined
  perf evlist: Add can_select_event() method
  perf tools: Move mem_bswap32/64 to util.c
  perf evlist: Add perf_evlist__to_front()

Arnaldo Carvalho de Melo (1):
  tools lib symbol: Start carving out symbol parsing routines from perf

David Ahern (1):
  perf tools: Fix inverted error verification bug in thread__fork

Namhyung Kim (12):
  tools lib traceevent: Get rid of malloc_or_die() in show_error()
  tools lib traceevent: Get rid of die in add_filter_type()
  tools lib traceevent: Get rid of malloc_or_die() allocate_arg()
  tools lib traceevent: Get rid of malloc_or_die() in read_token()
  tools lib traceevent: Get rid of malloc_or_die() in find_event()
  tools lib traceevent: Get rid of die() in add_right()
  tools lib traceevent: Make add_left() return pevent_errno
  tools lib traceevent: Get rid of die() in reparent_op_arg()
  tools lib traceevent: Refactor create_arg_item()
  tools lib traceevent: Refactor process_filter()
  tools lib traceevent: Make pevent_filter_add_filter_str() return 
pevent_errno
  tools lib traceevent: Refactor pevent_filter_match() to get rid of die()

Ramkumar Ramachandra (1):
  perf completion: Complete 'perf kvm'

 tools/lib/symbol/kallsyms.c |  58 +
 tools/lib/symbol/kallsyms.h |  24 ++
 tools/lib/traceevent/event-parse.h  |  43 ++-
 tools/lib/traceevent/parse-filter.c | 507 ++--
 tools/perf/MANIFEST |   2 +
 tools/perf/Makefile.perf|   5 +
 tools/perf/perf-completion.sh   |   4 +
 tools/perf/util/event.c |   1 +
 tools/perf/util/evlist.c|  20 +-
 tools/perf/util/evlist.h|   5 +
 tools/perf/util/header.c|   3 +-
 tools/perf/util/machine.c   |   1 +
 tools/perf/util/record.c|  37 +++
 tools/perf/util/session.c   |  21 --
 tools/perf/util/session.h   |   2 -
 tools/perf/util/symbol-elf.c|   1 +
 tools/perf/util/symbol.c|  69 +
 tools/perf/util/symbol.h|   3 -
 tools/perf/util/thread.c|   2 +-
 tools/perf/util/util.c  |  41 +++
 tools/perf/util/util.h  |   4 +
 21 files changed, 550 insertions(+), 303 deletions(-)
 create mode 100644 tools/lib/symbol/kallsyms.c
 create mode 100644 tools/lib/symbol/kallsyms.h
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


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

2012-09-13 Thread Ingo Molnar

* Arnaldo Carvalho de Melo  wrote:

> Hi Ingo,
> 
>   Please consider pulling,
> 
> Best Regards,
> 
> - Arnaldo
> 
> The following changes since commit d5cb2aef4fda355fbafe8db4f425b73ea94d2019:
> 
>   Merge tag 'perf-core-for-mingo' of 
> git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core 
> (2012-09-09 10:39:14 +0200)
> 
> are available in the git repository at:
> 
> 
>   git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux 
> tags/perf-core-for-mingo
> 
> for you to fetch changes up to 9ec3f4e437ede2f3b5087d412abe16a0219b3b99:
> 
>   perf sched: Don't read all tracepoint variables in advance (2012-09-11 
> 20:39:19 -0300)
> 
> 
> perf/core improvements and fixes
> 
> . Remove die()/exit() calls from several tools.
> 
> . Add missing perf_regs.h file to MANIFEST
> 
> . Clean up and improve 'perf sched' performance by elliminating lots of
>   needless calls to libtraceevent.
> 
> . More patches to make perf build on Android, from Irina Tirdea
> 
> . Resolve vdso callchains, from Jiri Olsa
> 
> Signed-off-by: Arnaldo Carvalho de Melo 
> 
> 
> Arnaldo Carvalho de Melo (9):
>   perf test: Remove die() calls
>   perf sched: Remove die() calls
>   perf kmem: Remove die() calls
>   perf tools: Add missing perf_regs.h file to MANIFEST
>   perf sched: Remove unused thread parameter
>   perf sched: Use perf_tool as ancestor
>   perf evsel: Introduce perf_evsel__{str,int}val methods
>   perf sched: Use perf_evsel__{int,str}val
>   perf sched: Don't read all tracepoint variables in advance
> 
> Irina Tirdea (5):
>   perf tools: include wrapper for magic.h
>   perf tools: Update types definitions for Android
>   perf tools: include __WORDSIZE definition
>   perf tools: fix ALIGN redefinition in system headers
>   perf tools: Use __maybe_used for unused variables
> 
> Jiri Olsa (4):
>   perf tools: Do backtrace post unwind only if we regs and stack were 
> captured
>   perf tools: Add memdup function
>   perf symbols: Make dsos__find function globally available
>   perf tools: Back [vdso] DSO with real data
> 
>  tools/lib/traceevent/event-parse.c |8 +-
>  tools/lib/traceevent/event-parse.h |4 +-
>  tools/perf/MANIFEST|1 +
>  tools/perf/Makefile|3 +
>  tools/perf/bench/bench.h   |3 +-
>  tools/perf/bench/mem-memcpy.c  |2 +-
>  tools/perf/bench/mem-memset.c  |2 +-
>  tools/perf/bench/sched-messaging.c |2 +-
>  tools/perf/bench/sched-pipe.c  |6 +-
>  tools/perf/builtin-annotate.c  |2 +-
>  tools/perf/builtin-bench.c |2 +-
>  tools/perf/builtin-buildid-cache.c |   10 +-
>  tools/perf/builtin-buildid-list.c  |3 +-
>  tools/perf/builtin-diff.c  |4 +-
>  tools/perf/builtin-evlist.c|2 +-
>  tools/perf/builtin-help.c  |2 +-
>  tools/perf/builtin-inject.c|   24 +-
>  tools/perf/builtin-kmem.c  |  130 +-
>  tools/perf/builtin-kvm.c   |2 +-
>  tools/perf/builtin-list.c  |2 +-
>  tools/perf/builtin-lock.c  |4 +-
>  tools/perf/builtin-probe.c |   24 +-
>  tools/perf/builtin-record.c|   10 +-
>  tools/perf/builtin-report.c|   11 +-
>  tools/perf/builtin-sched.c | 1446 
> +---
>  tools/perf/builtin-script.c|   29 +-
>  tools/perf/builtin-stat.c  |   40 +-
>  tools/perf/builtin-test.c  |   23 +-
>  tools/perf/builtin-timechart.c |   30 +-
>  tools/perf/builtin-top.c   |7 +-
>  tools/perf/ui/browser.c|7 +-
>  tools/perf/ui/browsers/annotate.c  |6 +-
>  tools/perf/ui/gtk/browser.c|5 +-
>  tools/perf/ui/gtk/setup.c  |2 +-
>  tools/perf/ui/gtk/util.c   |4 +-
>  tools/perf/ui/helpline.c   |2 +-
>  tools/perf/ui/helpline.h   |8 +-
>  tools/perf/ui/hist.c   |   21 +-
>  tools/perf/ui/tui/setup.c  |4 +-
>  tools/perf/util/alias.c|3 +-
>  tools/perf/util/annotate.c |6 +-
>  tools/perf/util/annotate.h |   13 +-
>  

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

2012-09-13 Thread Ingo Molnar

* Arnaldo Carvalho de Melo a...@infradead.org wrote:

 Hi Ingo,
 
   Please consider pulling,
 
 Best Regards,
 
 - Arnaldo
 
 The following changes since commit d5cb2aef4fda355fbafe8db4f425b73ea94d2019:
 
   Merge tag 'perf-core-for-mingo' of 
 git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core 
 (2012-09-09 10:39:14 +0200)
 
 are available in the git repository at:
 
 
   git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux 
 tags/perf-core-for-mingo
 
 for you to fetch changes up to 9ec3f4e437ede2f3b5087d412abe16a0219b3b99:
 
   perf sched: Don't read all tracepoint variables in advance (2012-09-11 
 20:39:19 -0300)
 
 
 perf/core improvements and fixes
 
 . Remove die()/exit() calls from several tools.
 
 . Add missing perf_regs.h file to MANIFEST
 
 . Clean up and improve 'perf sched' performance by elliminating lots of
   needless calls to libtraceevent.
 
 . More patches to make perf build on Android, from Irina Tirdea
 
 . Resolve vdso callchains, from Jiri Olsa
 
 Signed-off-by: Arnaldo Carvalho de Melo a...@redhat.com
 
 
 Arnaldo Carvalho de Melo (9):
   perf test: Remove die() calls
   perf sched: Remove die() calls
   perf kmem: Remove die() calls
   perf tools: Add missing perf_regs.h file to MANIFEST
   perf sched: Remove unused thread parameter
   perf sched: Use perf_tool as ancestor
   perf evsel: Introduce perf_evsel__{str,int}val methods
   perf sched: Use perf_evsel__{int,str}val
   perf sched: Don't read all tracepoint variables in advance
 
 Irina Tirdea (5):
   perf tools: include wrapper for magic.h
   perf tools: Update types definitions for Android
   perf tools: include __WORDSIZE definition
   perf tools: fix ALIGN redefinition in system headers
   perf tools: Use __maybe_used for unused variables
 
 Jiri Olsa (4):
   perf tools: Do backtrace post unwind only if we regs and stack were 
 captured
   perf tools: Add memdup function
   perf symbols: Make dsos__find function globally available
   perf tools: Back [vdso] DSO with real data
 
  tools/lib/traceevent/event-parse.c |8 +-
  tools/lib/traceevent/event-parse.h |4 +-
  tools/perf/MANIFEST|1 +
  tools/perf/Makefile|3 +
  tools/perf/bench/bench.h   |3 +-
  tools/perf/bench/mem-memcpy.c  |2 +-
  tools/perf/bench/mem-memset.c  |2 +-
  tools/perf/bench/sched-messaging.c |2 +-
  tools/perf/bench/sched-pipe.c  |6 +-
  tools/perf/builtin-annotate.c  |2 +-
  tools/perf/builtin-bench.c |2 +-
  tools/perf/builtin-buildid-cache.c |   10 +-
  tools/perf/builtin-buildid-list.c  |3 +-
  tools/perf/builtin-diff.c  |4 +-
  tools/perf/builtin-evlist.c|2 +-
  tools/perf/builtin-help.c  |2 +-
  tools/perf/builtin-inject.c|   24 +-
  tools/perf/builtin-kmem.c  |  130 +-
  tools/perf/builtin-kvm.c   |2 +-
  tools/perf/builtin-list.c  |2 +-
  tools/perf/builtin-lock.c  |4 +-
  tools/perf/builtin-probe.c |   24 +-
  tools/perf/builtin-record.c|   10 +-
  tools/perf/builtin-report.c|   11 +-
  tools/perf/builtin-sched.c | 1446 
 +---
  tools/perf/builtin-script.c|   29 +-
  tools/perf/builtin-stat.c  |   40 +-
  tools/perf/builtin-test.c  |   23 +-
  tools/perf/builtin-timechart.c |   30 +-
  tools/perf/builtin-top.c   |7 +-
  tools/perf/ui/browser.c|7 +-
  tools/perf/ui/browsers/annotate.c  |6 +-
  tools/perf/ui/gtk/browser.c|5 +-
  tools/perf/ui/gtk/setup.c  |2 +-
  tools/perf/ui/gtk/util.c   |4 +-
  tools/perf/ui/helpline.c   |2 +-
  tools/perf/ui/helpline.h   |8 +-
  tools/perf/ui/hist.c   |   21 +-
  tools/perf/ui/tui/setup.c  |4 +-
  tools/perf/util/alias.c|3 +-
  tools/perf/util/annotate.c |6 +-
  tools/perf/util/annotate.h |   13 +-
  tools/perf/util/build-id.c |   11 +-
  tools/perf/util/cache.h 

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

2012-09-11 Thread Arnaldo Carvalho de Melo
Hi Ingo,

Please consider pulling,

Best Regards,

- Arnaldo

The following changes since commit d5cb2aef4fda355fbafe8db4f425b73ea94d2019:

  Merge tag 'perf-core-for-mingo' of 
git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core 
(2012-09-09 10:39:14 +0200)

are available in the git repository at:


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

for you to fetch changes up to 9ec3f4e437ede2f3b5087d412abe16a0219b3b99:

  perf sched: Don't read all tracepoint variables in advance (2012-09-11 
20:39:19 -0300)


perf/core improvements and fixes

. Remove die()/exit() calls from several tools.

. Add missing perf_regs.h file to MANIFEST

. Clean up and improve 'perf sched' performance by elliminating lots of
  needless calls to libtraceevent.

. More patches to make perf build on Android, from Irina Tirdea

. Resolve vdso callchains, from Jiri Olsa

Signed-off-by: Arnaldo Carvalho de Melo 


Arnaldo Carvalho de Melo (9):
  perf test: Remove die() calls
  perf sched: Remove die() calls
  perf kmem: Remove die() calls
  perf tools: Add missing perf_regs.h file to MANIFEST
  perf sched: Remove unused thread parameter
  perf sched: Use perf_tool as ancestor
  perf evsel: Introduce perf_evsel__{str,int}val methods
  perf sched: Use perf_evsel__{int,str}val
  perf sched: Don't read all tracepoint variables in advance

Irina Tirdea (5):
  perf tools: include wrapper for magic.h
  perf tools: Update types definitions for Android
  perf tools: include __WORDSIZE definition
  perf tools: fix ALIGN redefinition in system headers
  perf tools: Use __maybe_used for unused variables

Jiri Olsa (4):
  perf tools: Do backtrace post unwind only if we regs and stack were 
captured
  perf tools: Add memdup function
  perf symbols: Make dsos__find function globally available
  perf tools: Back [vdso] DSO with real data

 tools/lib/traceevent/event-parse.c |8 +-
 tools/lib/traceevent/event-parse.h |4 +-
 tools/perf/MANIFEST|1 +
 tools/perf/Makefile|3 +
 tools/perf/bench/bench.h   |3 +-
 tools/perf/bench/mem-memcpy.c  |2 +-
 tools/perf/bench/mem-memset.c  |2 +-
 tools/perf/bench/sched-messaging.c |2 +-
 tools/perf/bench/sched-pipe.c  |6 +-
 tools/perf/builtin-annotate.c  |2 +-
 tools/perf/builtin-bench.c |2 +-
 tools/perf/builtin-buildid-cache.c |   10 +-
 tools/perf/builtin-buildid-list.c  |3 +-
 tools/perf/builtin-diff.c  |4 +-
 tools/perf/builtin-evlist.c|2 +-
 tools/perf/builtin-help.c  |2 +-
 tools/perf/builtin-inject.c|   24 +-
 tools/perf/builtin-kmem.c  |  130 +-
 tools/perf/builtin-kvm.c   |2 +-
 tools/perf/builtin-list.c  |2 +-
 tools/perf/builtin-lock.c  |4 +-
 tools/perf/builtin-probe.c |   24 +-
 tools/perf/builtin-record.c|   10 +-
 tools/perf/builtin-report.c|   11 +-
 tools/perf/builtin-sched.c | 1446 +---
 tools/perf/builtin-script.c|   29 +-
 tools/perf/builtin-stat.c  |   40 +-
 tools/perf/builtin-test.c  |   23 +-
 tools/perf/builtin-timechart.c |   30 +-
 tools/perf/builtin-top.c   |7 +-
 tools/perf/ui/browser.c|7 +-
 tools/perf/ui/browsers/annotate.c  |6 +-
 tools/perf/ui/gtk/browser.c|5 +-
 tools/perf/ui/gtk/setup.c  |2 +-
 tools/perf/ui/gtk/util.c   |4 +-
 tools/perf/ui/helpline.c   |2 +-
 tools/perf/ui/helpline.h   |8 +-
 tools/perf/ui/hist.c   |   21 +-
 tools/perf/ui/tui/setup.c  |4 +-
 tools/perf/util/alias.c|3 +-
 tools/perf/util/annotate.c |6 +-
 tools/perf/util/annotate.h |   13 +-
 tools/perf/util/build-id.c |   11 +-
 tools/perf/util/cache.h|6 +-
 tools/perf/util/callchain.c|6 +-
 tools/perf/util/cgroup.c   |4 +-
 tools/perf/util/config.c   

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

2012-09-11 Thread Arnaldo Carvalho de Melo
Hi Ingo,

Please consider pulling,

Best Regards,

- Arnaldo

The following changes since commit d5cb2aef4fda355fbafe8db4f425b73ea94d2019:

  Merge tag 'perf-core-for-mingo' of 
git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core 
(2012-09-09 10:39:14 +0200)

are available in the git repository at:


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

for you to fetch changes up to 9ec3f4e437ede2f3b5087d412abe16a0219b3b99:

  perf sched: Don't read all tracepoint variables in advance (2012-09-11 
20:39:19 -0300)


perf/core improvements and fixes

. Remove die()/exit() calls from several tools.

. Add missing perf_regs.h file to MANIFEST

. Clean up and improve 'perf sched' performance by elliminating lots of
  needless calls to libtraceevent.

. More patches to make perf build on Android, from Irina Tirdea

. Resolve vdso callchains, from Jiri Olsa

Signed-off-by: Arnaldo Carvalho de Melo a...@redhat.com


Arnaldo Carvalho de Melo (9):
  perf test: Remove die() calls
  perf sched: Remove die() calls
  perf kmem: Remove die() calls
  perf tools: Add missing perf_regs.h file to MANIFEST
  perf sched: Remove unused thread parameter
  perf sched: Use perf_tool as ancestor
  perf evsel: Introduce perf_evsel__{str,int}val methods
  perf sched: Use perf_evsel__{int,str}val
  perf sched: Don't read all tracepoint variables in advance

Irina Tirdea (5):
  perf tools: include wrapper for magic.h
  perf tools: Update types definitions for Android
  perf tools: include __WORDSIZE definition
  perf tools: fix ALIGN redefinition in system headers
  perf tools: Use __maybe_used for unused variables

Jiri Olsa (4):
  perf tools: Do backtrace post unwind only if we regs and stack were 
captured
  perf tools: Add memdup function
  perf symbols: Make dsos__find function globally available
  perf tools: Back [vdso] DSO with real data

 tools/lib/traceevent/event-parse.c |8 +-
 tools/lib/traceevent/event-parse.h |4 +-
 tools/perf/MANIFEST|1 +
 tools/perf/Makefile|3 +
 tools/perf/bench/bench.h   |3 +-
 tools/perf/bench/mem-memcpy.c  |2 +-
 tools/perf/bench/mem-memset.c  |2 +-
 tools/perf/bench/sched-messaging.c |2 +-
 tools/perf/bench/sched-pipe.c  |6 +-
 tools/perf/builtin-annotate.c  |2 +-
 tools/perf/builtin-bench.c |2 +-
 tools/perf/builtin-buildid-cache.c |   10 +-
 tools/perf/builtin-buildid-list.c  |3 +-
 tools/perf/builtin-diff.c  |4 +-
 tools/perf/builtin-evlist.c|2 +-
 tools/perf/builtin-help.c  |2 +-
 tools/perf/builtin-inject.c|   24 +-
 tools/perf/builtin-kmem.c  |  130 +-
 tools/perf/builtin-kvm.c   |2 +-
 tools/perf/builtin-list.c  |2 +-
 tools/perf/builtin-lock.c  |4 +-
 tools/perf/builtin-probe.c |   24 +-
 tools/perf/builtin-record.c|   10 +-
 tools/perf/builtin-report.c|   11 +-
 tools/perf/builtin-sched.c | 1446 +---
 tools/perf/builtin-script.c|   29 +-
 tools/perf/builtin-stat.c  |   40 +-
 tools/perf/builtin-test.c  |   23 +-
 tools/perf/builtin-timechart.c |   30 +-
 tools/perf/builtin-top.c   |7 +-
 tools/perf/ui/browser.c|7 +-
 tools/perf/ui/browsers/annotate.c  |6 +-
 tools/perf/ui/gtk/browser.c|5 +-
 tools/perf/ui/gtk/setup.c  |2 +-
 tools/perf/ui/gtk/util.c   |4 +-
 tools/perf/ui/helpline.c   |2 +-
 tools/perf/ui/helpline.h   |8 +-
 tools/perf/ui/hist.c   |   21 +-
 tools/perf/ui/tui/setup.c  |4 +-
 tools/perf/util/alias.c|3 +-
 tools/perf/util/annotate.c |6 +-
 tools/perf/util/annotate.h |   13 +-
 tools/perf/util/build-id.c |   11 +-
 tools/perf/util/cache.h|6 +-
 tools/perf/util/callchain.c|6 +-
 tools/perf/util/cgroup.c   |4 +-