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

2018-11-30 Thread Arnaldo Carvalho de Melo
Hi Ingo,

Please consider pulling, more to come,

Regards,

- Arnaldo

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

The following changes since commit b1a9d7b0190119dad5b9b7841751b5a7586bbc8b:

  Merge tag 'perf-urgent-for-mingo-4.20-20181121' of 
git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/urgent 
(2018-11-21 15:57:21 +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.21-20181130

for you to fetch changes up to 09d3f015d1e1b4fee7e9bbdcf54201d239393391:

  uprobes: Fix handle_swbp() vs. unregister() + register() race once more 
(2018-11-23 08:31:19 +0100)


perf/core improvements and fixes:

- Introduce 'perf record --aio' to use asynchronous IO trace writing in
  'perf record' disabled by default, i.e. one needs to explicitly use
  'perf record --aio' to use it, in which case the number of AIO aiocb
  structs will be one, specify 'perf record --aio=N' to ask for more,
  according to your needs, related to the number of processors in your
  machine. Reports about the effectiveness of this option are welcome
  so that we can decide on making it the default mode of operation. Read
  the respective patches commit logs for further information (Alexey Budankov)

- Add fallback routines to be used in places where we don't have the cpu mode
  (kernel/user space/hypervisor) and thus must first fallback lookups looking
  at all map trees when trying to resolve symbols (Adrian Hunter)

- Introduce 'perf top --kallsyms file' to match 'perf report --kallsyms', useful
  when dealing with BPF, where symbol resolution happens via kallsyms, not via
  the default vmlinux ELF symtabs (Arnaldo Carvalho de Melo)

- Fix CSV mode column output for non-cgroup events in 'perf stat' (Stephane 
Eranian)

- Fix 'perf stat' shadow stats for clock events. (Ravi Bangoria)

- Fix error with config term "pt=0", where we should just force "pt=1" and
  warn the user about the former being non-sensical (Adrian Hunter)

- Fix 'perf test' entry where we expect 'sleep' to come in a PERF_RECORD_COMM
  but instead we get 'coreutils' when sleep is provided by some versions of
  the 'coreutils' package (Adrian Hunter)

- Remove needless rb_tree extra indirection from map__find() (Eric 
Saint-Etienne)

- Add sanity check to libtraceevent's is_timestamp_in_us() (Tzvetomir Stoyanov)

- Use ERR_CAST instead of ERR_PTR(PTR_ERR()) (Wen Yang)

Signed-off-by: Arnaldo Carvalho de Melo 


Andrea Parri (1):
  uprobes: Fix handle_swbp() vs. unregister() + register() race once more

Jiri Olsa (3):
  perf/x86/intel: Move branch tracing setup to the Intel-specific source 
file
  perf/x86/intel: Add generic branch tracing check to intel_pmu_has_bts()
  perf/x86/intel: Disallow precise_ip on BTS events

 arch/x86/events/core.c   | 20 
 arch/x86/events/intel/core.c | 56 ++--
 arch/x86/events/perf_event.h | 13 ++
 kernel/events/uprobes.c  | 12 --
 4 files changed, 63 insertions(+), 38 deletions(-)

Test results:

XXX: Investigation on the watchpoint and breakpoint 'perf test' failures is
 underway, doesn't look like related to patches in this batch.

The first ones are container (docker) based builds of tools/perf with
and without libelf support.  Where clang is available, it is also used
to build perf with/without libelf, and building with LIBCLANGLLVM=1
(built-in clang) with gcc and clang when clang and its devel libraries
are installed.

The objtool and samples/bpf/ builds are disabled now that I'm switching from
using the sources in a local volume to fetching them from a http server to
build it inside the container, to make it easier to build in a container 
cluster.
Those will come back later.

Several are cross builds, the ones with -x-ARCH and the android one, and those
may not have all the features built, due to lack of multi-arch devel packages,
available and being used so far on just a few, like
debian:experimental-x-{arm64,mipsel}.

The 'perf test' one will perform a variety of tests exercising
tools/perf/util/, tools/lib/{bpf,traceevent,etc}, as well as run perf commands
with a variety of command line event specifications to then intercept the
sys_perf_event syscall to check that the perf_event_attr fields are set up as
expected, among a variety of other unit tests.

Then there is the 'make -C tools/perf build-test' ones, that build tools/perf/
with a variety of feature sets, exercising the build with an incomplete set of
features as well as with a complete one. It is planned to have it run on each
of the containers mentioned above, using some container orchestration
infrastructure. Get in contact if interested in helping having this in place.

  # dm
   1 alpine:3.4: Ok   gcc (Alpine 

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

2018-11-30 Thread Arnaldo Carvalho de Melo
Hi Ingo,

Please consider pulling, more to come,

Regards,

- Arnaldo

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

The following changes since commit b1a9d7b0190119dad5b9b7841751b5a7586bbc8b:

  Merge tag 'perf-urgent-for-mingo-4.20-20181121' of 
git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/urgent 
(2018-11-21 15:57:21 +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.21-20181130

for you to fetch changes up to 09d3f015d1e1b4fee7e9bbdcf54201d239393391:

  uprobes: Fix handle_swbp() vs. unregister() + register() race once more 
(2018-11-23 08:31:19 +0100)


perf/core improvements and fixes:

- Introduce 'perf record --aio' to use asynchronous IO trace writing in
  'perf record' disabled by default, i.e. one needs to explicitly use
  'perf record --aio' to use it, in which case the number of AIO aiocb
  structs will be one, specify 'perf record --aio=N' to ask for more,
  according to your needs, related to the number of processors in your
  machine. Reports about the effectiveness of this option are welcome
  so that we can decide on making it the default mode of operation. Read
  the respective patches commit logs for further information (Alexey Budankov)

- Add fallback routines to be used in places where we don't have the cpu mode
  (kernel/user space/hypervisor) and thus must first fallback lookups looking
  at all map trees when trying to resolve symbols (Adrian Hunter)

- Introduce 'perf top --kallsyms file' to match 'perf report --kallsyms', useful
  when dealing with BPF, where symbol resolution happens via kallsyms, not via
  the default vmlinux ELF symtabs (Arnaldo Carvalho de Melo)

- Fix CSV mode column output for non-cgroup events in 'perf stat' (Stephane 
Eranian)

- Fix 'perf stat' shadow stats for clock events. (Ravi Bangoria)

- Fix error with config term "pt=0", where we should just force "pt=1" and
  warn the user about the former being non-sensical (Adrian Hunter)

- Fix 'perf test' entry where we expect 'sleep' to come in a PERF_RECORD_COMM
  but instead we get 'coreutils' when sleep is provided by some versions of
  the 'coreutils' package (Adrian Hunter)

- Remove needless rb_tree extra indirection from map__find() (Eric 
Saint-Etienne)

- Add sanity check to libtraceevent's is_timestamp_in_us() (Tzvetomir Stoyanov)

- Use ERR_CAST instead of ERR_PTR(PTR_ERR()) (Wen Yang)

Signed-off-by: Arnaldo Carvalho de Melo 


Andrea Parri (1):
  uprobes: Fix handle_swbp() vs. unregister() + register() race once more

Jiri Olsa (3):
  perf/x86/intel: Move branch tracing setup to the Intel-specific source 
file
  perf/x86/intel: Add generic branch tracing check to intel_pmu_has_bts()
  perf/x86/intel: Disallow precise_ip on BTS events

 arch/x86/events/core.c   | 20 
 arch/x86/events/intel/core.c | 56 ++--
 arch/x86/events/perf_event.h | 13 ++
 kernel/events/uprobes.c  | 12 --
 4 files changed, 63 insertions(+), 38 deletions(-)

Test results:

XXX: Investigation on the watchpoint and breakpoint 'perf test' failures is
 underway, doesn't look like related to patches in this batch.

The first ones are container (docker) based builds of tools/perf with
and without libelf support.  Where clang is available, it is also used
to build perf with/without libelf, and building with LIBCLANGLLVM=1
(built-in clang) with gcc and clang when clang and its devel libraries
are installed.

The objtool and samples/bpf/ builds are disabled now that I'm switching from
using the sources in a local volume to fetching them from a http server to
build it inside the container, to make it easier to build in a container 
cluster.
Those will come back later.

Several are cross builds, the ones with -x-ARCH and the android one, and those
may not have all the features built, due to lack of multi-arch devel packages,
available and being used so far on just a few, like
debian:experimental-x-{arm64,mipsel}.

The 'perf test' one will perform a variety of tests exercising
tools/perf/util/, tools/lib/{bpf,traceevent,etc}, as well as run perf commands
with a variety of command line event specifications to then intercept the
sys_perf_event syscall to check that the perf_event_attr fields are set up as
expected, among a variety of other unit tests.

Then there is the 'make -C tools/perf build-test' ones, that build tools/perf/
with a variety of feature sets, exercising the build with an incomplete set of
features as well as with a complete one. It is planned to have it run on each
of the containers mentioned above, using some container orchestration
infrastructure. Get in contact if interested in helping having this in place.

  # dm
   1 alpine:3.4: Ok   gcc (Alpine 

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

2017-04-24 Thread Ingo Molnar

* Arnaldo Carvalho de Melo  wrote:

> Hi Ingo,
> 
>   Please consider applying,
> 
> - Arnaldo
> 
> Test results at the end of this message, as usual.
> 
> The following changes since commit 07590a7d4030c159b9a0d7171f81049a9ce23245:
> 
>   Merge tag 'perf-core-for-mingo-4.12-20170419' of 
> git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core 
> (2017-04-20 10:07:18 +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-4.12-20170424
> 
> for you to fetch changes up to 9d43f5e8df6804ae271407500af9062e9278167a:
> 
>   perf tools: Fix the code to strip command name (2017-04-24 13:43:37 -0300)
> 
> 
> perf/core improvements and fixes:
> 
> User visible:
> 
> - Fix display of data source snoop indication in 'perf mem' (Andi Kleen)
> 
> - Fix the code to strip command name from /proc/PID/stat (Jiri Olsa)
> 
> Infrastructure:
> 
> - Continue the disentanglement of headers, specially util.h (Arnaldo Carvalho 
> de Melo)
> 
> - Synchronize some header files with the kernel (Arnaldo Carvalho de Melo)
> 
> Signed-off-by: Arnaldo Carvalho de Melo 
> 
> 
> Andi Kleen (1):
>   perf mem: Fix display of data source snoop indication
> 
> Arnaldo Carvalho de Melo (20):
>   perf unwind: Provide only forward declarations for pointer types
>   perf tools: Add signal.h to places using its definitions
>   perf tools: Move units conversion/formatting routines to separate object
>   perf tools: Move timestamp routines from util.h to time-utils.h
>   perf kvm: Make function only used by 'perf kvm' static
>   perf debug: Move dump_stack() and sighandler_dump_stack() to debug.h
>   perf tools: Add compress.h for the *_decompress_to_file() headers
>   perf callchain: Move callchain specific routines from util.[ch]
>   perf tools: Include sys/param.h where needed
>   perf tools: Remove a few more needless includes from util.h
>   perf tools: Remove sys/ioctl.h from util.h
>   perf tools: Remove string.h from util.h
>   perf tools: Remove stale prototypes from builtin.h
>   perf tools: Remove string.h, unistd.h and sys/stat.h from util.h
>   perf tools: Remove poll.h and wait.h from util.h
>   perf tools: Add the right header to obtain PERF_ALIGN()
>   perf tools: Use just forward declarations for struct thread where 
> possible
>   tools: Update asm-generic/mman-common.h copy from the kernel
>   tools arch: Sync arch/x86/lib/memcpy_64.S with the kernel
>   tools arch x86: Sync cpufeatures.h
> 
> Jiri Olsa (1):
>   perf tools: Fix the code to strip command name
> 
>  tools/arch/x86/include/asm/cpufeatures.h  |   1 +
>  tools/arch/x86/lib/memcpy_64.S|   2 +-
>  tools/include/uapi/linux/stat.h   |   5 +-
>  tools/lib/subcmd/help.h   |   1 +
>  tools/perf/arch/arm/util/cs-etm.c |   1 +
>  tools/perf/arch/arm/util/unwind-libdw.c   |   1 +
>  tools/perf/arch/arm64/util/dwarf-regs.c   |   1 +
>  tools/perf/arch/x86/tests/intel-cqm.c |   2 +
>  tools/perf/arch/x86/util/unwind-libdw.c   |   1 +
>  tools/perf/builtin-buildid-cache.c|   1 +
>  tools/perf/builtin-c2c.c  |   2 +
>  tools/perf/builtin-ftrace.c   |   1 +
>  tools/perf/builtin-help.c |   4 +
>  tools/perf/builtin-inject.c   |   2 +
>  tools/perf/builtin-kvm.c  |  17 +++
>  tools/perf/builtin-mem.c  |   4 +
>  tools/perf/builtin-record.c   |   5 +
>  tools/perf/builtin-report.c   |   5 +
>  tools/perf/builtin-script.c   |   5 +
>  tools/perf/builtin-stat.c |   5 +
>  tools/perf/builtin-timechart.c|   1 +
>  tools/perf/builtin-top.c  |   1 +
>  tools/perf/builtin-trace.c|   2 +
>  tools/perf/builtin-version.c  |   3 +-
>  tools/perf/builtin.h  |   4 -
>  tools/perf/perf.c |   6 +-
>  tools/perf/tests/attr.c   |   4 +
>  tools/perf/tests/bpf.c|   2 +
>  tools/perf/tests/builtin-test.c   |   1 +
>  tools/perf/tests/code-reading.c   |   1 +
>  tools/perf/tests/event-times.c|   1 +
>  tools/perf/tests/parse-events.c   |   3 +
>  tools/perf/tests/unit_number__scnprintf.c |   2 +-
>  tools/perf/trace/beauty/signum.c  |   1 +
>  tools/perf/ui/browsers/hists.c|   2 +
>  tools/perf/ui/gtk/annotate.c  |   1 +
>  tools/perf/ui/gtk/hists.c |   1 +
>  tools/perf/ui/stdio/hist.c|   1 +
>  tools/perf/util/Build |   1 +
>  tools/perf/util/build-id.c|   3 +
>  

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

2017-04-24 Thread Ingo Molnar

* Arnaldo Carvalho de Melo  wrote:

> Hi Ingo,
> 
>   Please consider applying,
> 
> - Arnaldo
> 
> Test results at the end of this message, as usual.
> 
> The following changes since commit 07590a7d4030c159b9a0d7171f81049a9ce23245:
> 
>   Merge tag 'perf-core-for-mingo-4.12-20170419' of 
> git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core 
> (2017-04-20 10:07:18 +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-4.12-20170424
> 
> for you to fetch changes up to 9d43f5e8df6804ae271407500af9062e9278167a:
> 
>   perf tools: Fix the code to strip command name (2017-04-24 13:43:37 -0300)
> 
> 
> perf/core improvements and fixes:
> 
> User visible:
> 
> - Fix display of data source snoop indication in 'perf mem' (Andi Kleen)
> 
> - Fix the code to strip command name from /proc/PID/stat (Jiri Olsa)
> 
> Infrastructure:
> 
> - Continue the disentanglement of headers, specially util.h (Arnaldo Carvalho 
> de Melo)
> 
> - Synchronize some header files with the kernel (Arnaldo Carvalho de Melo)
> 
> Signed-off-by: Arnaldo Carvalho de Melo 
> 
> 
> Andi Kleen (1):
>   perf mem: Fix display of data source snoop indication
> 
> Arnaldo Carvalho de Melo (20):
>   perf unwind: Provide only forward declarations for pointer types
>   perf tools: Add signal.h to places using its definitions
>   perf tools: Move units conversion/formatting routines to separate object
>   perf tools: Move timestamp routines from util.h to time-utils.h
>   perf kvm: Make function only used by 'perf kvm' static
>   perf debug: Move dump_stack() and sighandler_dump_stack() to debug.h
>   perf tools: Add compress.h for the *_decompress_to_file() headers
>   perf callchain: Move callchain specific routines from util.[ch]
>   perf tools: Include sys/param.h where needed
>   perf tools: Remove a few more needless includes from util.h
>   perf tools: Remove sys/ioctl.h from util.h
>   perf tools: Remove string.h from util.h
>   perf tools: Remove stale prototypes from builtin.h
>   perf tools: Remove string.h, unistd.h and sys/stat.h from util.h
>   perf tools: Remove poll.h and wait.h from util.h
>   perf tools: Add the right header to obtain PERF_ALIGN()
>   perf tools: Use just forward declarations for struct thread where 
> possible
>   tools: Update asm-generic/mman-common.h copy from the kernel
>   tools arch: Sync arch/x86/lib/memcpy_64.S with the kernel
>   tools arch x86: Sync cpufeatures.h
> 
> Jiri Olsa (1):
>   perf tools: Fix the code to strip command name
> 
>  tools/arch/x86/include/asm/cpufeatures.h  |   1 +
>  tools/arch/x86/lib/memcpy_64.S|   2 +-
>  tools/include/uapi/linux/stat.h   |   5 +-
>  tools/lib/subcmd/help.h   |   1 +
>  tools/perf/arch/arm/util/cs-etm.c |   1 +
>  tools/perf/arch/arm/util/unwind-libdw.c   |   1 +
>  tools/perf/arch/arm64/util/dwarf-regs.c   |   1 +
>  tools/perf/arch/x86/tests/intel-cqm.c |   2 +
>  tools/perf/arch/x86/util/unwind-libdw.c   |   1 +
>  tools/perf/builtin-buildid-cache.c|   1 +
>  tools/perf/builtin-c2c.c  |   2 +
>  tools/perf/builtin-ftrace.c   |   1 +
>  tools/perf/builtin-help.c |   4 +
>  tools/perf/builtin-inject.c   |   2 +
>  tools/perf/builtin-kvm.c  |  17 +++
>  tools/perf/builtin-mem.c  |   4 +
>  tools/perf/builtin-record.c   |   5 +
>  tools/perf/builtin-report.c   |   5 +
>  tools/perf/builtin-script.c   |   5 +
>  tools/perf/builtin-stat.c |   5 +
>  tools/perf/builtin-timechart.c|   1 +
>  tools/perf/builtin-top.c  |   1 +
>  tools/perf/builtin-trace.c|   2 +
>  tools/perf/builtin-version.c  |   3 +-
>  tools/perf/builtin.h  |   4 -
>  tools/perf/perf.c |   6 +-
>  tools/perf/tests/attr.c   |   4 +
>  tools/perf/tests/bpf.c|   2 +
>  tools/perf/tests/builtin-test.c   |   1 +
>  tools/perf/tests/code-reading.c   |   1 +
>  tools/perf/tests/event-times.c|   1 +
>  tools/perf/tests/parse-events.c   |   3 +
>  tools/perf/tests/unit_number__scnprintf.c |   2 +-
>  tools/perf/trace/beauty/signum.c  |   1 +
>  tools/perf/ui/browsers/hists.c|   2 +
>  tools/perf/ui/gtk/annotate.c  |   1 +
>  tools/perf/ui/gtk/hists.c |   1 +
>  tools/perf/ui/stdio/hist.c|   1 +
>  tools/perf/util/Build |   1 +
>  tools/perf/util/build-id.c|   3 +
>  tools/perf/util/callchain.c   | 103 

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

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

Please consider applying,

- Arnaldo

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

The following changes since commit 07590a7d4030c159b9a0d7171f81049a9ce23245:

  Merge tag 'perf-core-for-mingo-4.12-20170419' of 
git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core 
(2017-04-20 10:07:18 +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-4.12-20170424

for you to fetch changes up to 9d43f5e8df6804ae271407500af9062e9278167a:

  perf tools: Fix the code to strip command name (2017-04-24 13:43:37 -0300)


perf/core improvements and fixes:

User visible:

- Fix display of data source snoop indication in 'perf mem' (Andi Kleen)

- Fix the code to strip command name from /proc/PID/stat (Jiri Olsa)

Infrastructure:

- Continue the disentanglement of headers, specially util.h (Arnaldo Carvalho 
de Melo)

- Synchronize some header files with the kernel (Arnaldo Carvalho de Melo)

Signed-off-by: Arnaldo Carvalho de Melo 


Andi Kleen (1):
  perf mem: Fix display of data source snoop indication

Arnaldo Carvalho de Melo (20):
  perf unwind: Provide only forward declarations for pointer types
  perf tools: Add signal.h to places using its definitions
  perf tools: Move units conversion/formatting routines to separate object
  perf tools: Move timestamp routines from util.h to time-utils.h
  perf kvm: Make function only used by 'perf kvm' static
  perf debug: Move dump_stack() and sighandler_dump_stack() to debug.h
  perf tools: Add compress.h for the *_decompress_to_file() headers
  perf callchain: Move callchain specific routines from util.[ch]
  perf tools: Include sys/param.h where needed
  perf tools: Remove a few more needless includes from util.h
  perf tools: Remove sys/ioctl.h from util.h
  perf tools: Remove string.h from util.h
  perf tools: Remove stale prototypes from builtin.h
  perf tools: Remove string.h, unistd.h and sys/stat.h from util.h
  perf tools: Remove poll.h and wait.h from util.h
  perf tools: Add the right header to obtain PERF_ALIGN()
  perf tools: Use just forward declarations for struct thread where possible
  tools: Update asm-generic/mman-common.h copy from the kernel
  tools arch: Sync arch/x86/lib/memcpy_64.S with the kernel
  tools arch x86: Sync cpufeatures.h

Jiri Olsa (1):
  perf tools: Fix the code to strip command name

 tools/arch/x86/include/asm/cpufeatures.h  |   1 +
 tools/arch/x86/lib/memcpy_64.S|   2 +-
 tools/include/uapi/linux/stat.h   |   5 +-
 tools/lib/subcmd/help.h   |   1 +
 tools/perf/arch/arm/util/cs-etm.c |   1 +
 tools/perf/arch/arm/util/unwind-libdw.c   |   1 +
 tools/perf/arch/arm64/util/dwarf-regs.c   |   1 +
 tools/perf/arch/x86/tests/intel-cqm.c |   2 +
 tools/perf/arch/x86/util/unwind-libdw.c   |   1 +
 tools/perf/builtin-buildid-cache.c|   1 +
 tools/perf/builtin-c2c.c  |   2 +
 tools/perf/builtin-ftrace.c   |   1 +
 tools/perf/builtin-help.c |   4 +
 tools/perf/builtin-inject.c   |   2 +
 tools/perf/builtin-kvm.c  |  17 +++
 tools/perf/builtin-mem.c  |   4 +
 tools/perf/builtin-record.c   |   5 +
 tools/perf/builtin-report.c   |   5 +
 tools/perf/builtin-script.c   |   5 +
 tools/perf/builtin-stat.c |   5 +
 tools/perf/builtin-timechart.c|   1 +
 tools/perf/builtin-top.c  |   1 +
 tools/perf/builtin-trace.c|   2 +
 tools/perf/builtin-version.c  |   3 +-
 tools/perf/builtin.h  |   4 -
 tools/perf/perf.c |   6 +-
 tools/perf/tests/attr.c   |   4 +
 tools/perf/tests/bpf.c|   2 +
 tools/perf/tests/builtin-test.c   |   1 +
 tools/perf/tests/code-reading.c   |   1 +
 tools/perf/tests/event-times.c|   1 +
 tools/perf/tests/parse-events.c   |   3 +
 tools/perf/tests/unit_number__scnprintf.c |   2 +-
 tools/perf/trace/beauty/signum.c  |   1 +
 tools/perf/ui/browsers/hists.c|   2 +
 tools/perf/ui/gtk/annotate.c  |   1 +
 tools/perf/ui/gtk/hists.c |   1 +
 tools/perf/ui/stdio/hist.c|   1 +
 tools/perf/util/Build |   1 +
 tools/perf/util/build-id.c|   3 +
 tools/perf/util/callchain.c   | 103 +++
 tools/perf/util/color.h   |   2 +
 tools/perf/util/comm.c|   1 +
 tools/perf/util/compress.h|  12 ++
 tools/perf/util/config.c  |   4 +
 tools/perf/util/debug.c   

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

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

Please consider applying,

- Arnaldo

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

The following changes since commit 07590a7d4030c159b9a0d7171f81049a9ce23245:

  Merge tag 'perf-core-for-mingo-4.12-20170419' of 
git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core 
(2017-04-20 10:07:18 +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-4.12-20170424

for you to fetch changes up to 9d43f5e8df6804ae271407500af9062e9278167a:

  perf tools: Fix the code to strip command name (2017-04-24 13:43:37 -0300)


perf/core improvements and fixes:

User visible:

- Fix display of data source snoop indication in 'perf mem' (Andi Kleen)

- Fix the code to strip command name from /proc/PID/stat (Jiri Olsa)

Infrastructure:

- Continue the disentanglement of headers, specially util.h (Arnaldo Carvalho 
de Melo)

- Synchronize some header files with the kernel (Arnaldo Carvalho de Melo)

Signed-off-by: Arnaldo Carvalho de Melo 


Andi Kleen (1):
  perf mem: Fix display of data source snoop indication

Arnaldo Carvalho de Melo (20):
  perf unwind: Provide only forward declarations for pointer types
  perf tools: Add signal.h to places using its definitions
  perf tools: Move units conversion/formatting routines to separate object
  perf tools: Move timestamp routines from util.h to time-utils.h
  perf kvm: Make function only used by 'perf kvm' static
  perf debug: Move dump_stack() and sighandler_dump_stack() to debug.h
  perf tools: Add compress.h for the *_decompress_to_file() headers
  perf callchain: Move callchain specific routines from util.[ch]
  perf tools: Include sys/param.h where needed
  perf tools: Remove a few more needless includes from util.h
  perf tools: Remove sys/ioctl.h from util.h
  perf tools: Remove string.h from util.h
  perf tools: Remove stale prototypes from builtin.h
  perf tools: Remove string.h, unistd.h and sys/stat.h from util.h
  perf tools: Remove poll.h and wait.h from util.h
  perf tools: Add the right header to obtain PERF_ALIGN()
  perf tools: Use just forward declarations for struct thread where possible
  tools: Update asm-generic/mman-common.h copy from the kernel
  tools arch: Sync arch/x86/lib/memcpy_64.S with the kernel
  tools arch x86: Sync cpufeatures.h

Jiri Olsa (1):
  perf tools: Fix the code to strip command name

 tools/arch/x86/include/asm/cpufeatures.h  |   1 +
 tools/arch/x86/lib/memcpy_64.S|   2 +-
 tools/include/uapi/linux/stat.h   |   5 +-
 tools/lib/subcmd/help.h   |   1 +
 tools/perf/arch/arm/util/cs-etm.c |   1 +
 tools/perf/arch/arm/util/unwind-libdw.c   |   1 +
 tools/perf/arch/arm64/util/dwarf-regs.c   |   1 +
 tools/perf/arch/x86/tests/intel-cqm.c |   2 +
 tools/perf/arch/x86/util/unwind-libdw.c   |   1 +
 tools/perf/builtin-buildid-cache.c|   1 +
 tools/perf/builtin-c2c.c  |   2 +
 tools/perf/builtin-ftrace.c   |   1 +
 tools/perf/builtin-help.c |   4 +
 tools/perf/builtin-inject.c   |   2 +
 tools/perf/builtin-kvm.c  |  17 +++
 tools/perf/builtin-mem.c  |   4 +
 tools/perf/builtin-record.c   |   5 +
 tools/perf/builtin-report.c   |   5 +
 tools/perf/builtin-script.c   |   5 +
 tools/perf/builtin-stat.c |   5 +
 tools/perf/builtin-timechart.c|   1 +
 tools/perf/builtin-top.c  |   1 +
 tools/perf/builtin-trace.c|   2 +
 tools/perf/builtin-version.c  |   3 +-
 tools/perf/builtin.h  |   4 -
 tools/perf/perf.c |   6 +-
 tools/perf/tests/attr.c   |   4 +
 tools/perf/tests/bpf.c|   2 +
 tools/perf/tests/builtin-test.c   |   1 +
 tools/perf/tests/code-reading.c   |   1 +
 tools/perf/tests/event-times.c|   1 +
 tools/perf/tests/parse-events.c   |   3 +
 tools/perf/tests/unit_number__scnprintf.c |   2 +-
 tools/perf/trace/beauty/signum.c  |   1 +
 tools/perf/ui/browsers/hists.c|   2 +
 tools/perf/ui/gtk/annotate.c  |   1 +
 tools/perf/ui/gtk/hists.c |   1 +
 tools/perf/ui/stdio/hist.c|   1 +
 tools/perf/util/Build |   1 +
 tools/perf/util/build-id.c|   3 +
 tools/perf/util/callchain.c   | 103 +++
 tools/perf/util/color.h   |   2 +
 tools/perf/util/comm.c|   1 +
 tools/perf/util/compress.h|  12 ++
 tools/perf/util/config.c  |   4 +
 tools/perf/util/debug.c   |  

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

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

Hi Ingo,

Please consider pulling, I had most of this queued before your first
pull req to Linus for 4.10, most are fixes, with 'perf sched timehist --idle'
as a followup new feature to the 'perf sched timehist' command introduced in
this window.

Thanks,

- Arnaldo

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

The following changes since commit b0c1ef52959582144bbea9a2b37db7f4c9e399f7:

  perf/x86: Fix exclusion of BTS and LBR for Goldmont (2016-12-11 13:06:09 
+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-20161213

for you to fetch changes up to a03f73547fb6e0f7f2942c46cce9b48df50238ba:

  samples/bpf: Drop unnecessary build targets. (2016-12-13 10:38:10 -0300)


perf/core improvements and fixes:

New features:

- Introduce 'perf sched timehist --idle', to analyse processes
  going to/from idle state (Namhyung Kim)

- Add scanning of SDT (Software Defined Tracing) probles arguments (Alexis 
Berlemont)

Fixes:

- Allow 'perf record -u user' to continue when facing races with threads
  going away after having scanned them via /proc (Jiri Olsa)

- Fix 'perf mem' --all-user/--all-kernel options (Jiri Olsa)

Infrastructure:

- Switch over samples/bpf/ to tools/lib/bpf, removing libbpf duplication (Joe 
Stringer)

Signed-off-by: Arnaldo Carvalho de Melo 


Alexis Berlemont (1):
  perf sdt: Add scanning of sdt probles arguments

Arnaldo Carvalho de Melo (1):
  perf tools: Remove some needless __maybe_unused

Jiri Olsa (6):
  perf tools: Move headers check into bash script
  perf mem: Fix --all-user/--all-kernel options
  perf evsel: Use variable instead of repeating lengthy FD macro
  perf thread_map: Add thread_map__remove function
  perf evsel: Allow to ignore missing pid
  perf record: Force ignore_missing_thread for uid option

Joe Stringer (8):
  tools lib bpf: Sync {tools,}/include/uapi/linux/bpf.h
  tools lib bpf: use __u32 from linux/types.h
  tools lib bpf: Add flags to bpf_create_map()
  samples/bpf: Make samples more libbpf-centric
  samples/bpf: Switch over to libbpf
  samples/bpf: Remove perf_event_open() declaration
  samples/bpf: Move open_raw_sock to separate header
  samples/bpf: Drop unnecessary build targets.

Namhyung Kim (6):
  perf sched timehist: Split is_idle_sample()
  perf sched timehist: Introduce struct idle_time_data
  perf sched timehist: Save callchain when entering idle
  perf sched timehist: Skip non-idle events when necessary
  perf sched timehist: Add -I/--idle-hist option
  perf sched timehist: Show callchains for idle stat

 samples/bpf/Makefile  |  60 ++---
 samples/bpf/README.rst|   4 +-
 samples/bpf/bpf_load.c|  20 +-
 samples/bpf/fds_example.c |  10 +-
 samples/bpf/lathist_user.c|   3 +-
 samples/bpf/libbpf.c  | 155 -
 samples/bpf/libbpf.h  |  25 +--
 samples/bpf/map_perf_test_user.c  |   1 +
 samples/bpf/offwaketime_user.c|  10 +-
 samples/bpf/sampleip_user.c   |   8 +-
 samples/bpf/sock_example.c|  11 +-
 samples/bpf/sock_example.h|  35 +++
 samples/bpf/sockex1_user.c|   9 +-
 samples/bpf/sockex2_user.c|   7 +-
 samples/bpf/sockex3_user.c|   7 +-
 samples/bpf/spintest_user.c   |  10 +-
 samples/bpf/tc_l2_redirect_user.c |   4 +-
 samples/bpf/test_cgrp2_array_pin.c|   4 +-
 samples/bpf/test_current_task_under_cgroup_user.c |  10 +-
 samples/bpf/test_maps.c   | 142 ++--
 samples/bpf/test_overhead_user.c  |   2 +
 samples/bpf/test_probe_write_user_user.c  |   4 +-
 samples/bpf/test_verifier.c   |   8 +-
 samples/bpf/trace_event_user.c|  24 +-
 samples/bpf/trace_output_user.c   |   6 +-
 samples/bpf/tracex1_user.c|   2 +
 samples/bpf/tracex2_user.c|  12 +-
 samples/bpf/tracex3_user.c|   6 +-
 samples/bpf/tracex4_user.c|   6 +-
 samples/bpf/tracex5_user.c|   2 +
 samples/bpf/tracex6_user.c|   7 +-
 samples/bpf/xdp1_user.c   |   4 +-
 tools/include/uapi/linux/bpf.h|  51 +
 tools/lib/bpf/bpf.c   |   7 +-
 tools/lib/bpf/bpf.h

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

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

Hi Ingo,

Please consider pulling, I had most of this queued before your first
pull req to Linus for 4.10, most are fixes, with 'perf sched timehist --idle'
as a followup new feature to the 'perf sched timehist' command introduced in
this window.

Thanks,

- Arnaldo

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

The following changes since commit b0c1ef52959582144bbea9a2b37db7f4c9e399f7:

  perf/x86: Fix exclusion of BTS and LBR for Goldmont (2016-12-11 13:06:09 
+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-20161213

for you to fetch changes up to a03f73547fb6e0f7f2942c46cce9b48df50238ba:

  samples/bpf: Drop unnecessary build targets. (2016-12-13 10:38:10 -0300)


perf/core improvements and fixes:

New features:

- Introduce 'perf sched timehist --idle', to analyse processes
  going to/from idle state (Namhyung Kim)

- Add scanning of SDT (Software Defined Tracing) probles arguments (Alexis 
Berlemont)

Fixes:

- Allow 'perf record -u user' to continue when facing races with threads
  going away after having scanned them via /proc (Jiri Olsa)

- Fix 'perf mem' --all-user/--all-kernel options (Jiri Olsa)

Infrastructure:

- Switch over samples/bpf/ to tools/lib/bpf, removing libbpf duplication (Joe 
Stringer)

Signed-off-by: Arnaldo Carvalho de Melo 


Alexis Berlemont (1):
  perf sdt: Add scanning of sdt probles arguments

Arnaldo Carvalho de Melo (1):
  perf tools: Remove some needless __maybe_unused

Jiri Olsa (6):
  perf tools: Move headers check into bash script
  perf mem: Fix --all-user/--all-kernel options
  perf evsel: Use variable instead of repeating lengthy FD macro
  perf thread_map: Add thread_map__remove function
  perf evsel: Allow to ignore missing pid
  perf record: Force ignore_missing_thread for uid option

Joe Stringer (8):
  tools lib bpf: Sync {tools,}/include/uapi/linux/bpf.h
  tools lib bpf: use __u32 from linux/types.h
  tools lib bpf: Add flags to bpf_create_map()
  samples/bpf: Make samples more libbpf-centric
  samples/bpf: Switch over to libbpf
  samples/bpf: Remove perf_event_open() declaration
  samples/bpf: Move open_raw_sock to separate header
  samples/bpf: Drop unnecessary build targets.

Namhyung Kim (6):
  perf sched timehist: Split is_idle_sample()
  perf sched timehist: Introduce struct idle_time_data
  perf sched timehist: Save callchain when entering idle
  perf sched timehist: Skip non-idle events when necessary
  perf sched timehist: Add -I/--idle-hist option
  perf sched timehist: Show callchains for idle stat

 samples/bpf/Makefile  |  60 ++---
 samples/bpf/README.rst|   4 +-
 samples/bpf/bpf_load.c|  20 +-
 samples/bpf/fds_example.c |  10 +-
 samples/bpf/lathist_user.c|   3 +-
 samples/bpf/libbpf.c  | 155 -
 samples/bpf/libbpf.h  |  25 +--
 samples/bpf/map_perf_test_user.c  |   1 +
 samples/bpf/offwaketime_user.c|  10 +-
 samples/bpf/sampleip_user.c   |   8 +-
 samples/bpf/sock_example.c|  11 +-
 samples/bpf/sock_example.h|  35 +++
 samples/bpf/sockex1_user.c|   9 +-
 samples/bpf/sockex2_user.c|   7 +-
 samples/bpf/sockex3_user.c|   7 +-
 samples/bpf/spintest_user.c   |  10 +-
 samples/bpf/tc_l2_redirect_user.c |   4 +-
 samples/bpf/test_cgrp2_array_pin.c|   4 +-
 samples/bpf/test_current_task_under_cgroup_user.c |  10 +-
 samples/bpf/test_maps.c   | 142 ++--
 samples/bpf/test_overhead_user.c  |   2 +
 samples/bpf/test_probe_write_user_user.c  |   4 +-
 samples/bpf/test_verifier.c   |   8 +-
 samples/bpf/trace_event_user.c|  24 +-
 samples/bpf/trace_output_user.c   |   6 +-
 samples/bpf/tracex1_user.c|   2 +
 samples/bpf/tracex2_user.c|  12 +-
 samples/bpf/tracex3_user.c|   6 +-
 samples/bpf/tracex4_user.c|   6 +-
 samples/bpf/tracex5_user.c|   2 +
 samples/bpf/tracex6_user.c|   7 +-
 samples/bpf/xdp1_user.c   |   4 +-
 tools/include/uapi/linux/bpf.h|  51 +
 tools/lib/bpf/bpf.c   |   7 +-
 tools/lib/bpf/bpf.h   |   6 +-
 

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

2016-10-04 Thread Ingo Molnar

* Arnaldo Carvalho de Melo  wrote:

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

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

2016-10-04 Thread Ingo Molnar

* Arnaldo Carvalho de Melo  wrote:

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

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

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

Please consider pulling,

- Arnaldo

Build and test stats at the end of the message.

The following changes since commit 41aad2a6d4fcdda8d73c9739daf7a9f3f49499d6:

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

are available in the git repository at:

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

for you to fetch changes up to b42c7369e3f451e22c2b0be5d193955498d37546:

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


perf/core improvements and fixes:

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

  # perf list l1d

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

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

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

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

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

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

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

Signed-off-by: Arnaldo Carvalho de Melo 


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

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

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

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

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

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

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

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

Please consider pulling,

- Arnaldo

Build and test stats at the end of the message.

The following changes since commit 41aad2a6d4fcdda8d73c9739daf7a9f3f49499d6:

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

are available in the git repository at:

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

for you to fetch changes up to b42c7369e3f451e22c2b0be5d193955498d37546:

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


perf/core improvements and fixes:

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

  # perf list l1d

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

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

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

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

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

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

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

Signed-off-by: Arnaldo Carvalho de Melo 


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

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

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

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

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

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

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

2016-09-20 Thread Ingo Molnar

* Arnaldo Carvalho de Melo  wrote:

> Hi Ingo,
> 
>   Please consider pulling,
> 
> - Arnaldo
> 
> The following changes since commit cd34cd97b7b4336aa2c623c37daffab264c7c6ce:
> 
>   perf/x86/intel/uncore: Add Skylake server uncore support (2016-09-10 
> 11:18:52 +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-20160920
> 
> for you to fetch changes up to 3c028a0cb5b71f47d523bc8ad2c597cb257f41fb:
> 
>   perf symbols: Do not open device files (2016-09-20 16:20:21 -0300)
> 
> 
> perf/core improvements and fixes:
> 
> User visible:
> 
> - Support event group view with hierarchy mode in 'perf top' and 'perf report'
>   (Namhyung Kim)
> 
>   e.g.:
> 
>   $ perf record -e '{cycles,instructions}' make
>   $ perf report --hierarchy --stdio
>   ...
>   #   Overhead  Command / Shared Object / Symbol
>   # ..  ..
>   ...
>   25.74%  27.18%sh
>  19.96%  24.14%libc-2.24.so
> 9.55%  14.64%[.] __strcmp_sse2
> 1.54%   0.00%[.] __tfind
> 1.07%   1.13%[.] _int_malloc
> 0.95%   0.00%[.] __strchr_sse2
> 0.89%   1.39%[.] __tsearch
> 0.76%   0.00%[.] strlen
> 
> - Fix the dwarf regs table for x86_64, adding a missing % to the "%di"
>   register, noticed with a failing 'perf test bpf' (Arnaldo Carvalho de Melo)
> 
> - Fix handling of mmap parameters in the 'perf trace' beautifier in
>   architectures that don't have the same mappings as x86_64 (Wang Nan)
> 
> - Handle hugetbl mappings in older systems running new kernels (Wang Nan)
> 
> - Resolve 'call' operands in 'annotate', that when using /proc/kcore
>   were appearing just as hexadecimal addresses, to function names
>   (Arnaldo Carvalho de Melo)
> 
> - Fix width computation for srcline sort entry (Jiri Olsa)
> 
> - Do not ignore call instruction with indirect target in 'annotate'
>   (Ravi Bangoria)
> 
> - Handle MADV_FREE in the madvise 'trace' beautifier (Wang Nan)
> 
> - Fix build of 'perf trace' mman beautifier in !x86_64 (Wang Nan)
> 
> Infrastructure:
> 
> - Add infrastructure for PMU specific configuration, allowing to pass
>   config variables directly to the kernel PMU driver, prefixing those
>   variables with a '@', part of a larger series to support Coresight (Mathieu 
> Poirier)
> 
> Signed-off-by: Arnaldo Carvalho de Melo 
> 
> Build stats at the end of this message.
> 
> 
> Arnaldo Carvalho de Melo (5):
>   perf probe: Fix dwarf regs table for x86_64
>   perf trace beauty mmap: Fix defines for non !x86_64
>   perf tools: Do hugetlb handling in more systems
>   perf annotate: Pass the symbol's map/dso to the instruction parsers
>   perf annotate: Resolve 'call' operands to function names
> 
> Jiri Olsa (2):
>   perf hists: Fix width computation for srcline sort entry
>   perf symbols: Do not open device files
> 
> Mathieu Poirier (1):
>   perf tools: Add infrastructure for PMU specific configuration
> 
> Namhyung Kim (9):
>   perf hists browser: Fix event group display
>   perf hists: Introduce hists__match_hierarchy()
>   perf hists: Introduce hists__link_hierarchy()
>   perf hist: Initialize hierarchy tree explicitly
>   perf ui/stdio: Always reset output width for hierarchy
>   perf ui/stdio: Rename print_hierarchy_header()
>   perf report: Enable group view with hierarchy
>   perf ui/tui: Reset output width for hierarchy
>   perf hists: Factor out hists__reset_column_width()
> 
> Ravi Bangoria (1):
>   perf annotate: Do not ignore call instruction with indirect target
> 
> Wang Nan (4):
>   tools include: Add uapi mman.h for each architecture
>   perf build: Compare mman.h related headers against kernel originals
>   perf trace beauty mmap: Add missing MADV_FREE
>   tools include: Add mman macros needed by perf for all arch
> 
>  tools/arch/alpha/include/uapi/asm/mman.h   |  47 
>  tools/arch/arc/include/uapi/asm/mman.h |   6 +
>  tools/arch/arm/include/uapi/asm/mman.h |   6 +
>  tools/arch/arm64/include/uapi/asm/mman.h   |   6 +
>  tools/arch/frv/include/uapi/asm/mman.h |   6 +
>  tools/arch/h8300/include/uapi/asm/mman.h   |   6 +
>  tools/arch/hexagon/include/uapi/asm/mman.h |   6 +
>  tools/arch/ia64/include/uapi/asm/mman.h|   6 +
>  tools/arch/m32r/include/uapi/asm/mman.h|   6 +
>  tools/arch/microblaze/include/uapi/asm/mman.h  |   6 +
>  tools/arch/mips/include/uapi/asm/mman.h|  46 
>  tools/arch/mn10300/include/uapi/asm/mman.h |   6 +
>  tools/arch/parisc/include/uapi/asm/mman.h  |  47 
>  

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

2016-09-20 Thread Ingo Molnar

* Arnaldo Carvalho de Melo  wrote:

> Hi Ingo,
> 
>   Please consider pulling,
> 
> - Arnaldo
> 
> The following changes since commit cd34cd97b7b4336aa2c623c37daffab264c7c6ce:
> 
>   perf/x86/intel/uncore: Add Skylake server uncore support (2016-09-10 
> 11:18:52 +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-20160920
> 
> for you to fetch changes up to 3c028a0cb5b71f47d523bc8ad2c597cb257f41fb:
> 
>   perf symbols: Do not open device files (2016-09-20 16:20:21 -0300)
> 
> 
> perf/core improvements and fixes:
> 
> User visible:
> 
> - Support event group view with hierarchy mode in 'perf top' and 'perf report'
>   (Namhyung Kim)
> 
>   e.g.:
> 
>   $ perf record -e '{cycles,instructions}' make
>   $ perf report --hierarchy --stdio
>   ...
>   #   Overhead  Command / Shared Object / Symbol
>   # ..  ..
>   ...
>   25.74%  27.18%sh
>  19.96%  24.14%libc-2.24.so
> 9.55%  14.64%[.] __strcmp_sse2
> 1.54%   0.00%[.] __tfind
> 1.07%   1.13%[.] _int_malloc
> 0.95%   0.00%[.] __strchr_sse2
> 0.89%   1.39%[.] __tsearch
> 0.76%   0.00%[.] strlen
> 
> - Fix the dwarf regs table for x86_64, adding a missing % to the "%di"
>   register, noticed with a failing 'perf test bpf' (Arnaldo Carvalho de Melo)
> 
> - Fix handling of mmap parameters in the 'perf trace' beautifier in
>   architectures that don't have the same mappings as x86_64 (Wang Nan)
> 
> - Handle hugetbl mappings in older systems running new kernels (Wang Nan)
> 
> - Resolve 'call' operands in 'annotate', that when using /proc/kcore
>   were appearing just as hexadecimal addresses, to function names
>   (Arnaldo Carvalho de Melo)
> 
> - Fix width computation for srcline sort entry (Jiri Olsa)
> 
> - Do not ignore call instruction with indirect target in 'annotate'
>   (Ravi Bangoria)
> 
> - Handle MADV_FREE in the madvise 'trace' beautifier (Wang Nan)
> 
> - Fix build of 'perf trace' mman beautifier in !x86_64 (Wang Nan)
> 
> Infrastructure:
> 
> - Add infrastructure for PMU specific configuration, allowing to pass
>   config variables directly to the kernel PMU driver, prefixing those
>   variables with a '@', part of a larger series to support Coresight (Mathieu 
> Poirier)
> 
> Signed-off-by: Arnaldo Carvalho de Melo 
> 
> Build stats at the end of this message.
> 
> 
> Arnaldo Carvalho de Melo (5):
>   perf probe: Fix dwarf regs table for x86_64
>   perf trace beauty mmap: Fix defines for non !x86_64
>   perf tools: Do hugetlb handling in more systems
>   perf annotate: Pass the symbol's map/dso to the instruction parsers
>   perf annotate: Resolve 'call' operands to function names
> 
> Jiri Olsa (2):
>   perf hists: Fix width computation for srcline sort entry
>   perf symbols: Do not open device files
> 
> Mathieu Poirier (1):
>   perf tools: Add infrastructure for PMU specific configuration
> 
> Namhyung Kim (9):
>   perf hists browser: Fix event group display
>   perf hists: Introduce hists__match_hierarchy()
>   perf hists: Introduce hists__link_hierarchy()
>   perf hist: Initialize hierarchy tree explicitly
>   perf ui/stdio: Always reset output width for hierarchy
>   perf ui/stdio: Rename print_hierarchy_header()
>   perf report: Enable group view with hierarchy
>   perf ui/tui: Reset output width for hierarchy
>   perf hists: Factor out hists__reset_column_width()
> 
> Ravi Bangoria (1):
>   perf annotate: Do not ignore call instruction with indirect target
> 
> Wang Nan (4):
>   tools include: Add uapi mman.h for each architecture
>   perf build: Compare mman.h related headers against kernel originals
>   perf trace beauty mmap: Add missing MADV_FREE
>   tools include: Add mman macros needed by perf for all arch
> 
>  tools/arch/alpha/include/uapi/asm/mman.h   |  47 
>  tools/arch/arc/include/uapi/asm/mman.h |   6 +
>  tools/arch/arm/include/uapi/asm/mman.h |   6 +
>  tools/arch/arm64/include/uapi/asm/mman.h   |   6 +
>  tools/arch/frv/include/uapi/asm/mman.h |   6 +
>  tools/arch/h8300/include/uapi/asm/mman.h   |   6 +
>  tools/arch/hexagon/include/uapi/asm/mman.h |   6 +
>  tools/arch/ia64/include/uapi/asm/mman.h|   6 +
>  tools/arch/m32r/include/uapi/asm/mman.h|   6 +
>  tools/arch/microblaze/include/uapi/asm/mman.h  |   6 +
>  tools/arch/mips/include/uapi/asm/mman.h|  46 
>  tools/arch/mn10300/include/uapi/asm/mman.h |   6 +
>  tools/arch/parisc/include/uapi/asm/mman.h  |  47 
>  tools/arch/powerpc/include/uapi/asm/mman.h  

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

2016-09-20 Thread Arnaldo Carvalho de Melo
Hi Ingo,

Please consider pulling,

- Arnaldo

The following changes since commit cd34cd97b7b4336aa2c623c37daffab264c7c6ce:

  perf/x86/intel/uncore: Add Skylake server uncore support (2016-09-10 11:18:52 
+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-20160920

for you to fetch changes up to 3c028a0cb5b71f47d523bc8ad2c597cb257f41fb:

  perf symbols: Do not open device files (2016-09-20 16:20:21 -0300)


perf/core improvements and fixes:

User visible:

- Support event group view with hierarchy mode in 'perf top' and 'perf report'
  (Namhyung Kim)

  e.g.:

  $ perf record -e '{cycles,instructions}' make
  $ perf report --hierarchy --stdio
  ...
  #   Overhead  Command / Shared Object / Symbol
  # ..  ..
  ...
  25.74%  27.18%sh
 19.96%  24.14%libc-2.24.so
9.55%  14.64%[.] __strcmp_sse2
1.54%   0.00%[.] __tfind
1.07%   1.13%[.] _int_malloc
0.95%   0.00%[.] __strchr_sse2
0.89%   1.39%[.] __tsearch
0.76%   0.00%[.] strlen

- Fix the dwarf regs table for x86_64, adding a missing % to the "%di"
  register, noticed with a failing 'perf test bpf' (Arnaldo Carvalho de Melo)

- Fix handling of mmap parameters in the 'perf trace' beautifier in
  architectures that don't have the same mappings as x86_64 (Wang Nan)

- Handle hugetbl mappings in older systems running new kernels (Wang Nan)

- Resolve 'call' operands in 'annotate', that when using /proc/kcore
  were appearing just as hexadecimal addresses, to function names
  (Arnaldo Carvalho de Melo)

- Fix width computation for srcline sort entry (Jiri Olsa)

- Do not ignore call instruction with indirect target in 'annotate'
  (Ravi Bangoria)

- Handle MADV_FREE in the madvise 'trace' beautifier (Wang Nan)

- Fix build of 'perf trace' mman beautifier in !x86_64 (Wang Nan)

Infrastructure:

- Add infrastructure for PMU specific configuration, allowing to pass
  config variables directly to the kernel PMU driver, prefixing those
  variables with a '@', part of a larger series to support Coresight (Mathieu 
Poirier)

Signed-off-by: Arnaldo Carvalho de Melo 

Build stats at the end of this message.


Arnaldo Carvalho de Melo (5):
  perf probe: Fix dwarf regs table for x86_64
  perf trace beauty mmap: Fix defines for non !x86_64
  perf tools: Do hugetlb handling in more systems
  perf annotate: Pass the symbol's map/dso to the instruction parsers
  perf annotate: Resolve 'call' operands to function names

Jiri Olsa (2):
  perf hists: Fix width computation for srcline sort entry
  perf symbols: Do not open device files

Mathieu Poirier (1):
  perf tools: Add infrastructure for PMU specific configuration

Namhyung Kim (9):
  perf hists browser: Fix event group display
  perf hists: Introduce hists__match_hierarchy()
  perf hists: Introduce hists__link_hierarchy()
  perf hist: Initialize hierarchy tree explicitly
  perf ui/stdio: Always reset output width for hierarchy
  perf ui/stdio: Rename print_hierarchy_header()
  perf report: Enable group view with hierarchy
  perf ui/tui: Reset output width for hierarchy
  perf hists: Factor out hists__reset_column_width()

Ravi Bangoria (1):
  perf annotate: Do not ignore call instruction with indirect target

Wang Nan (4):
  tools include: Add uapi mman.h for each architecture
  perf build: Compare mman.h related headers against kernel originals
  perf trace beauty mmap: Add missing MADV_FREE
  tools include: Add mman macros needed by perf for all arch

 tools/arch/alpha/include/uapi/asm/mman.h   |  47 
 tools/arch/arc/include/uapi/asm/mman.h |   6 +
 tools/arch/arm/include/uapi/asm/mman.h |   6 +
 tools/arch/arm64/include/uapi/asm/mman.h   |   6 +
 tools/arch/frv/include/uapi/asm/mman.h |   6 +
 tools/arch/h8300/include/uapi/asm/mman.h   |   6 +
 tools/arch/hexagon/include/uapi/asm/mman.h |   6 +
 tools/arch/ia64/include/uapi/asm/mman.h|   6 +
 tools/arch/m32r/include/uapi/asm/mman.h|   6 +
 tools/arch/microblaze/include/uapi/asm/mman.h  |   6 +
 tools/arch/mips/include/uapi/asm/mman.h|  46 
 tools/arch/mn10300/include/uapi/asm/mman.h |   6 +
 tools/arch/parisc/include/uapi/asm/mman.h  |  47 
 tools/arch/powerpc/include/uapi/asm/mman.h |  15 +++
 tools/arch/s390/include/uapi/asm/mman.h|   6 +
 tools/arch/score/include/uapi/asm/mman.h   |   6 +
 tools/arch/sh/include/uapi/asm/mman.h  |   6 +
 tools/arch/sparc/include/uapi/asm/mman.h   |  15 +++
 

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

2016-09-20 Thread Arnaldo Carvalho de Melo
Hi Ingo,

Please consider pulling,

- Arnaldo

The following changes since commit cd34cd97b7b4336aa2c623c37daffab264c7c6ce:

  perf/x86/intel/uncore: Add Skylake server uncore support (2016-09-10 11:18:52 
+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-20160920

for you to fetch changes up to 3c028a0cb5b71f47d523bc8ad2c597cb257f41fb:

  perf symbols: Do not open device files (2016-09-20 16:20:21 -0300)


perf/core improvements and fixes:

User visible:

- Support event group view with hierarchy mode in 'perf top' and 'perf report'
  (Namhyung Kim)

  e.g.:

  $ perf record -e '{cycles,instructions}' make
  $ perf report --hierarchy --stdio
  ...
  #   Overhead  Command / Shared Object / Symbol
  # ..  ..
  ...
  25.74%  27.18%sh
 19.96%  24.14%libc-2.24.so
9.55%  14.64%[.] __strcmp_sse2
1.54%   0.00%[.] __tfind
1.07%   1.13%[.] _int_malloc
0.95%   0.00%[.] __strchr_sse2
0.89%   1.39%[.] __tsearch
0.76%   0.00%[.] strlen

- Fix the dwarf regs table for x86_64, adding a missing % to the "%di"
  register, noticed with a failing 'perf test bpf' (Arnaldo Carvalho de Melo)

- Fix handling of mmap parameters in the 'perf trace' beautifier in
  architectures that don't have the same mappings as x86_64 (Wang Nan)

- Handle hugetbl mappings in older systems running new kernels (Wang Nan)

- Resolve 'call' operands in 'annotate', that when using /proc/kcore
  were appearing just as hexadecimal addresses, to function names
  (Arnaldo Carvalho de Melo)

- Fix width computation for srcline sort entry (Jiri Olsa)

- Do not ignore call instruction with indirect target in 'annotate'
  (Ravi Bangoria)

- Handle MADV_FREE in the madvise 'trace' beautifier (Wang Nan)

- Fix build of 'perf trace' mman beautifier in !x86_64 (Wang Nan)

Infrastructure:

- Add infrastructure for PMU specific configuration, allowing to pass
  config variables directly to the kernel PMU driver, prefixing those
  variables with a '@', part of a larger series to support Coresight (Mathieu 
Poirier)

Signed-off-by: Arnaldo Carvalho de Melo 

Build stats at the end of this message.


Arnaldo Carvalho de Melo (5):
  perf probe: Fix dwarf regs table for x86_64
  perf trace beauty mmap: Fix defines for non !x86_64
  perf tools: Do hugetlb handling in more systems
  perf annotate: Pass the symbol's map/dso to the instruction parsers
  perf annotate: Resolve 'call' operands to function names

Jiri Olsa (2):
  perf hists: Fix width computation for srcline sort entry
  perf symbols: Do not open device files

Mathieu Poirier (1):
  perf tools: Add infrastructure for PMU specific configuration

Namhyung Kim (9):
  perf hists browser: Fix event group display
  perf hists: Introduce hists__match_hierarchy()
  perf hists: Introduce hists__link_hierarchy()
  perf hist: Initialize hierarchy tree explicitly
  perf ui/stdio: Always reset output width for hierarchy
  perf ui/stdio: Rename print_hierarchy_header()
  perf report: Enable group view with hierarchy
  perf ui/tui: Reset output width for hierarchy
  perf hists: Factor out hists__reset_column_width()

Ravi Bangoria (1):
  perf annotate: Do not ignore call instruction with indirect target

Wang Nan (4):
  tools include: Add uapi mman.h for each architecture
  perf build: Compare mman.h related headers against kernel originals
  perf trace beauty mmap: Add missing MADV_FREE
  tools include: Add mman macros needed by perf for all arch

 tools/arch/alpha/include/uapi/asm/mman.h   |  47 
 tools/arch/arc/include/uapi/asm/mman.h |   6 +
 tools/arch/arm/include/uapi/asm/mman.h |   6 +
 tools/arch/arm64/include/uapi/asm/mman.h   |   6 +
 tools/arch/frv/include/uapi/asm/mman.h |   6 +
 tools/arch/h8300/include/uapi/asm/mman.h   |   6 +
 tools/arch/hexagon/include/uapi/asm/mman.h |   6 +
 tools/arch/ia64/include/uapi/asm/mman.h|   6 +
 tools/arch/m32r/include/uapi/asm/mman.h|   6 +
 tools/arch/microblaze/include/uapi/asm/mman.h  |   6 +
 tools/arch/mips/include/uapi/asm/mman.h|  46 
 tools/arch/mn10300/include/uapi/asm/mman.h |   6 +
 tools/arch/parisc/include/uapi/asm/mman.h  |  47 
 tools/arch/powerpc/include/uapi/asm/mman.h |  15 +++
 tools/arch/s390/include/uapi/asm/mman.h|   6 +
 tools/arch/score/include/uapi/asm/mman.h   |   6 +
 tools/arch/sh/include/uapi/asm/mman.h  |   6 +
 tools/arch/sparc/include/uapi/asm/mman.h   |  15 +++
 tools/arch/tile/include/uapi/asm/mman.h

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

2016-02-20 Thread Ingo Molnar

* Arnaldo Carvalho de Melo  wrote:

> Hi Ingo,
> 
>   Please consider pulling,
> 
> - Arnaldo
> 
> The following changes since commit 3b364d7b587db0f0eeafde0f271e0698187de776:
> 
>   perf/core: Remove unused arguments from a bunch of functions (2016-02-17 
> 10:37:48 +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
> 
> for you to fetch changes up to 5b2ea6f2f6ac81a230e6cc68e1473e796a583f00:
> 
>   perf report: Check error during report__collapse_hists() (2016-02-19 
> 19:17:50 -0300)
> 
> 
> perf/core improvements and fixes:
> 
> User visible:
> 
> - Add 'perf record' --all-user/--all-kernel options, so that one can tell
>   that all the events in the command line should be restricted to the user
>   or kernel levels (Jiri Olsa), i.e.:
> 
>   perf record -e cycles:u,instructions:u
> 
>   is equivalent to:
> 
> perf record --all-user -e cycles,instructions
> 
> - Fix percentage update on key press, due to the buffering code
>   (that creates hist_entries that will later be consumed) touching
>   per hists state that is used by the display thread (Namhyung Kim)
> 
> - Bail out when event modifiers not supported by 'perf stat' are
>   specified, i.e.: (Wang Nan)
> 
>   # perf stat -e cycles/no-inherit/ usleep 1
>   event syntax error: 'cycles/no-inherit/'
>\___ 'no-inherit' is not usable in 'perf stat'
>   # perf stat -e cycles/foo/ usleep 1
>   event syntax error: 'cycles/foo/'
>   \___ unknown term
> 
>   valid terms: config,config1,config2,name
>   #
> 
> - Enable setting names for legacy cache, raw and numeric events, e.g: (Wang 
> Nan)
> 
>   # perf record -e cycles -e 4:0x6530160/name=evtx,call-graph=fp/ -a sleep 1
>   [ perf record: Woken up 1 times to write data ]
>   [ perf record: Captured and wrote 1.659 MB perf.data (844 samples) ]
>   # perf evlist
>   cycles
>   evtx
>   #
> 
> Miscelaneous/Infrastructure:
> 
> - Handled scaled == -1 case for counters in 'perf stat', fixing
>   recent, only in perf/core, regression (Andi Kleen)
> 
> - Reference count the cpu and thread maps at set_maps(), fixing the
>   'object code reading' 'perf test' entry when it was requesting a
>   perf_event_attr.sample_freq > /proc/sys/kernel/perf_event_max_sample_rate
>   (Arnaldo Carvalho de Melo)
> 
> - Improve perf_evlist__strerror_open() to provide hints for -EINVAL due
>   to perf_event_attr.sample_freq > /proc/sys/kernel/perf_event_max_sample_rate
>   (Arnaldo Carvalho de Melo)
> 
> - Add checks to various callchain and histogram routines (Namhyung Kim)
> 
> - Fix checking asprintf return value when parsing additional event config 
> terms (Wang Nan)
> 
> Signed-off-by: Arnaldo Carvalho de Melo 
> 
> 
> Andi Kleen (1):
>   perf stat: Handled scaled == -1 case for counters
> 
> Arnaldo Carvalho de Melo (5):
>   perf evlist: Reference count the cpu and thread maps at set_maps()
>   perf evlist: Handle -EINVAL for sample_freq > max_sample_rate in 
> strerror_open()
>   perf tests: Use perf_evlist__strerror_open() to provide hints about 
> max_freq
>   perf test: Reduce the sample_freq for the 'object code reading' test
>   perf tools: Introduce opt_event_config nonterminal
> 
> Jiri Olsa (1):
>   perf record: Add --all-user/--all-kernel options
> 
> Namhyung Kim (8):
>   perf hists browser: Fix percentage update on key press
>   perf callchain: Check return value of add_child()
>   perf callchain: Check return value of fill_node()
>   perf callchain: Add enum match_result for match_chain()
>   perf callchain: Check return value of split_add_child()
>   perf callchain: Check return value of append_chain_children()
>   perf hists: Return error from hists__collapse_resort()
>   perf report: Check error during report__collapse_hists()
> 
> Wang Nan (7):
>   perf bpf: Rename bpf_prog_priv__clear() to clear_prog_priv()
>   perf tools: Fix checking asprintf return value
>   perf tools: Create config_term_names array
>   perf stat: Bail out on unsupported event config modifiers
>   perf tools: Rename and move pmu_event_name to get_config_name
>   perf tools: Enable config raw and numeric events
>   perf tools: Enable config and setting names for legacy cache events
> 
>  tools/perf/Documentation/perf-record.txt |   6 ++
>  tools/perf/builtin-record.c  |   6 ++
>  tools/perf/builtin-report.c  |  14 ++-
>  tools/perf/builtin-stat.c|   3 +-
>  tools/perf/perf.h|   2 +
>  tools/perf/tests/code-reading.c  |  10 +-
>  tools/perf/tests/parse-events.c  |  52 ++
>  tools/perf/util/bpf-loader.c |   6 +-
>  

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

2016-02-20 Thread Ingo Molnar

* Arnaldo Carvalho de Melo  wrote:

> Hi Ingo,
> 
>   Please consider pulling,
> 
> - Arnaldo
> 
> The following changes since commit 3b364d7b587db0f0eeafde0f271e0698187de776:
> 
>   perf/core: Remove unused arguments from a bunch of functions (2016-02-17 
> 10:37:48 +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
> 
> for you to fetch changes up to 5b2ea6f2f6ac81a230e6cc68e1473e796a583f00:
> 
>   perf report: Check error during report__collapse_hists() (2016-02-19 
> 19:17:50 -0300)
> 
> 
> perf/core improvements and fixes:
> 
> User visible:
> 
> - Add 'perf record' --all-user/--all-kernel options, so that one can tell
>   that all the events in the command line should be restricted to the user
>   or kernel levels (Jiri Olsa), i.e.:
> 
>   perf record -e cycles:u,instructions:u
> 
>   is equivalent to:
> 
> perf record --all-user -e cycles,instructions
> 
> - Fix percentage update on key press, due to the buffering code
>   (that creates hist_entries that will later be consumed) touching
>   per hists state that is used by the display thread (Namhyung Kim)
> 
> - Bail out when event modifiers not supported by 'perf stat' are
>   specified, i.e.: (Wang Nan)
> 
>   # perf stat -e cycles/no-inherit/ usleep 1
>   event syntax error: 'cycles/no-inherit/'
>\___ 'no-inherit' is not usable in 'perf stat'
>   # perf stat -e cycles/foo/ usleep 1
>   event syntax error: 'cycles/foo/'
>   \___ unknown term
> 
>   valid terms: config,config1,config2,name
>   #
> 
> - Enable setting names for legacy cache, raw and numeric events, e.g: (Wang 
> Nan)
> 
>   # perf record -e cycles -e 4:0x6530160/name=evtx,call-graph=fp/ -a sleep 1
>   [ perf record: Woken up 1 times to write data ]
>   [ perf record: Captured and wrote 1.659 MB perf.data (844 samples) ]
>   # perf evlist
>   cycles
>   evtx
>   #
> 
> Miscelaneous/Infrastructure:
> 
> - Handled scaled == -1 case for counters in 'perf stat', fixing
>   recent, only in perf/core, regression (Andi Kleen)
> 
> - Reference count the cpu and thread maps at set_maps(), fixing the
>   'object code reading' 'perf test' entry when it was requesting a
>   perf_event_attr.sample_freq > /proc/sys/kernel/perf_event_max_sample_rate
>   (Arnaldo Carvalho de Melo)
> 
> - Improve perf_evlist__strerror_open() to provide hints for -EINVAL due
>   to perf_event_attr.sample_freq > /proc/sys/kernel/perf_event_max_sample_rate
>   (Arnaldo Carvalho de Melo)
> 
> - Add checks to various callchain and histogram routines (Namhyung Kim)
> 
> - Fix checking asprintf return value when parsing additional event config 
> terms (Wang Nan)
> 
> Signed-off-by: Arnaldo Carvalho de Melo 
> 
> 
> Andi Kleen (1):
>   perf stat: Handled scaled == -1 case for counters
> 
> Arnaldo Carvalho de Melo (5):
>   perf evlist: Reference count the cpu and thread maps at set_maps()
>   perf evlist: Handle -EINVAL for sample_freq > max_sample_rate in 
> strerror_open()
>   perf tests: Use perf_evlist__strerror_open() to provide hints about 
> max_freq
>   perf test: Reduce the sample_freq for the 'object code reading' test
>   perf tools: Introduce opt_event_config nonterminal
> 
> Jiri Olsa (1):
>   perf record: Add --all-user/--all-kernel options
> 
> Namhyung Kim (8):
>   perf hists browser: Fix percentage update on key press
>   perf callchain: Check return value of add_child()
>   perf callchain: Check return value of fill_node()
>   perf callchain: Add enum match_result for match_chain()
>   perf callchain: Check return value of split_add_child()
>   perf callchain: Check return value of append_chain_children()
>   perf hists: Return error from hists__collapse_resort()
>   perf report: Check error during report__collapse_hists()
> 
> Wang Nan (7):
>   perf bpf: Rename bpf_prog_priv__clear() to clear_prog_priv()
>   perf tools: Fix checking asprintf return value
>   perf tools: Create config_term_names array
>   perf stat: Bail out on unsupported event config modifiers
>   perf tools: Rename and move pmu_event_name to get_config_name
>   perf tools: Enable config raw and numeric events
>   perf tools: Enable config and setting names for legacy cache events
> 
>  tools/perf/Documentation/perf-record.txt |   6 ++
>  tools/perf/builtin-record.c  |   6 ++
>  tools/perf/builtin-report.c  |  14 ++-
>  tools/perf/builtin-stat.c|   3 +-
>  tools/perf/perf.h|   2 +
>  tools/perf/tests/code-reading.c  |  10 +-
>  tools/perf/tests/parse-events.c  |  52 ++
>  tools/perf/util/bpf-loader.c |   6 +-
>  tools/perf/util/callchain.c  | 102 

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

2016-02-19 Thread Arnaldo Carvalho de Melo
Hi Ingo,

Please consider pulling,

- Arnaldo

The following changes since commit 3b364d7b587db0f0eeafde0f271e0698187de776:

  perf/core: Remove unused arguments from a bunch of functions (2016-02-17 
10:37:48 +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

for you to fetch changes up to 5b2ea6f2f6ac81a230e6cc68e1473e796a583f00:

  perf report: Check error during report__collapse_hists() (2016-02-19 19:17:50 
-0300)


perf/core improvements and fixes:

User visible:

- Add 'perf record' --all-user/--all-kernel options, so that one can tell
  that all the events in the command line should be restricted to the user
  or kernel levels (Jiri Olsa), i.e.:

perf record -e cycles:u,instructions:u

  is equivalent to:

perf record --all-user -e cycles,instructions

- Fix percentage update on key press, due to the buffering code
  (that creates hist_entries that will later be consumed) touching
  per hists state that is used by the display thread (Namhyung Kim)

- Bail out when event modifiers not supported by 'perf stat' are
  specified, i.e.: (Wang Nan)

  # perf stat -e cycles/no-inherit/ usleep 1
  event syntax error: 'cycles/no-inherit/'
   \___ 'no-inherit' is not usable in 'perf stat'
  # perf stat -e cycles/foo/ usleep 1
  event syntax error: 'cycles/foo/'
  \___ unknown term

  valid terms: config,config1,config2,name
  #

- Enable setting names for legacy cache, raw and numeric events, e.g: (Wang Nan)

  # perf record -e cycles -e 4:0x6530160/name=evtx,call-graph=fp/ -a sleep 1
  [ perf record: Woken up 1 times to write data ]
  [ perf record: Captured and wrote 1.659 MB perf.data (844 samples) ]
  # perf evlist
  cycles
  evtx
  #

Miscelaneous/Infrastructure:

- Handled scaled == -1 case for counters in 'perf stat', fixing
  recent, only in perf/core, regression (Andi Kleen)

- Reference count the cpu and thread maps at set_maps(), fixing the
  'object code reading' 'perf test' entry when it was requesting a
  perf_event_attr.sample_freq > /proc/sys/kernel/perf_event_max_sample_rate
  (Arnaldo Carvalho de Melo)

- Improve perf_evlist__strerror_open() to provide hints for -EINVAL due
  to perf_event_attr.sample_freq > /proc/sys/kernel/perf_event_max_sample_rate
  (Arnaldo Carvalho de Melo)

- Add checks to various callchain and histogram routines (Namhyung Kim)

- Fix checking asprintf return value when parsing additional event config terms 
(Wang Nan)

Signed-off-by: Arnaldo Carvalho de Melo 


Andi Kleen (1):
  perf stat: Handled scaled == -1 case for counters

Arnaldo Carvalho de Melo (5):
  perf evlist: Reference count the cpu and thread maps at set_maps()
  perf evlist: Handle -EINVAL for sample_freq > max_sample_rate in 
strerror_open()
  perf tests: Use perf_evlist__strerror_open() to provide hints about 
max_freq
  perf test: Reduce the sample_freq for the 'object code reading' test
  perf tools: Introduce opt_event_config nonterminal

Jiri Olsa (1):
  perf record: Add --all-user/--all-kernel options

Namhyung Kim (8):
  perf hists browser: Fix percentage update on key press
  perf callchain: Check return value of add_child()
  perf callchain: Check return value of fill_node()
  perf callchain: Add enum match_result for match_chain()
  perf callchain: Check return value of split_add_child()
  perf callchain: Check return value of append_chain_children()
  perf hists: Return error from hists__collapse_resort()
  perf report: Check error during report__collapse_hists()

Wang Nan (7):
  perf bpf: Rename bpf_prog_priv__clear() to clear_prog_priv()
  perf tools: Fix checking asprintf return value
  perf tools: Create config_term_names array
  perf stat: Bail out on unsupported event config modifiers
  perf tools: Rename and move pmu_event_name to get_config_name
  perf tools: Enable config raw and numeric events
  perf tools: Enable config and setting names for legacy cache events

 tools/perf/Documentation/perf-record.txt |   6 ++
 tools/perf/builtin-record.c  |   6 ++
 tools/perf/builtin-report.c  |  14 ++-
 tools/perf/builtin-stat.c|   3 +-
 tools/perf/perf.h|   2 +
 tools/perf/tests/code-reading.c  |  10 +-
 tools/perf/tests/parse-events.c  |  52 ++
 tools/perf/util/bpf-loader.c |   6 +-
 tools/perf/util/callchain.c  | 102 +-
 tools/perf/util/evlist.c |  24 -
 tools/perf/util/evsel.c  |  10 ++
 tools/perf/util/hist.c   |  55 +++---
 tools/perf/util/hist.h   |   6 +-
 tools/perf/util/parse-events.c   | 

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

2016-02-19 Thread Arnaldo Carvalho de Melo
Hi Ingo,

Please consider pulling,

- Arnaldo

The following changes since commit 3b364d7b587db0f0eeafde0f271e0698187de776:

  perf/core: Remove unused arguments from a bunch of functions (2016-02-17 
10:37:48 +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

for you to fetch changes up to 5b2ea6f2f6ac81a230e6cc68e1473e796a583f00:

  perf report: Check error during report__collapse_hists() (2016-02-19 19:17:50 
-0300)


perf/core improvements and fixes:

User visible:

- Add 'perf record' --all-user/--all-kernel options, so that one can tell
  that all the events in the command line should be restricted to the user
  or kernel levels (Jiri Olsa), i.e.:

perf record -e cycles:u,instructions:u

  is equivalent to:

perf record --all-user -e cycles,instructions

- Fix percentage update on key press, due to the buffering code
  (that creates hist_entries that will later be consumed) touching
  per hists state that is used by the display thread (Namhyung Kim)

- Bail out when event modifiers not supported by 'perf stat' are
  specified, i.e.: (Wang Nan)

  # perf stat -e cycles/no-inherit/ usleep 1
  event syntax error: 'cycles/no-inherit/'
   \___ 'no-inherit' is not usable in 'perf stat'
  # perf stat -e cycles/foo/ usleep 1
  event syntax error: 'cycles/foo/'
  \___ unknown term

  valid terms: config,config1,config2,name
  #

- Enable setting names for legacy cache, raw and numeric events, e.g: (Wang Nan)

  # perf record -e cycles -e 4:0x6530160/name=evtx,call-graph=fp/ -a sleep 1
  [ perf record: Woken up 1 times to write data ]
  [ perf record: Captured and wrote 1.659 MB perf.data (844 samples) ]
  # perf evlist
  cycles
  evtx
  #

Miscelaneous/Infrastructure:

- Handled scaled == -1 case for counters in 'perf stat', fixing
  recent, only in perf/core, regression (Andi Kleen)

- Reference count the cpu and thread maps at set_maps(), fixing the
  'object code reading' 'perf test' entry when it was requesting a
  perf_event_attr.sample_freq > /proc/sys/kernel/perf_event_max_sample_rate
  (Arnaldo Carvalho de Melo)

- Improve perf_evlist__strerror_open() to provide hints for -EINVAL due
  to perf_event_attr.sample_freq > /proc/sys/kernel/perf_event_max_sample_rate
  (Arnaldo Carvalho de Melo)

- Add checks to various callchain and histogram routines (Namhyung Kim)

- Fix checking asprintf return value when parsing additional event config terms 
(Wang Nan)

Signed-off-by: Arnaldo Carvalho de Melo 


Andi Kleen (1):
  perf stat: Handled scaled == -1 case for counters

Arnaldo Carvalho de Melo (5):
  perf evlist: Reference count the cpu and thread maps at set_maps()
  perf evlist: Handle -EINVAL for sample_freq > max_sample_rate in 
strerror_open()
  perf tests: Use perf_evlist__strerror_open() to provide hints about 
max_freq
  perf test: Reduce the sample_freq for the 'object code reading' test
  perf tools: Introduce opt_event_config nonterminal

Jiri Olsa (1):
  perf record: Add --all-user/--all-kernel options

Namhyung Kim (8):
  perf hists browser: Fix percentage update on key press
  perf callchain: Check return value of add_child()
  perf callchain: Check return value of fill_node()
  perf callchain: Add enum match_result for match_chain()
  perf callchain: Check return value of split_add_child()
  perf callchain: Check return value of append_chain_children()
  perf hists: Return error from hists__collapse_resort()
  perf report: Check error during report__collapse_hists()

Wang Nan (7):
  perf bpf: Rename bpf_prog_priv__clear() to clear_prog_priv()
  perf tools: Fix checking asprintf return value
  perf tools: Create config_term_names array
  perf stat: Bail out on unsupported event config modifiers
  perf tools: Rename and move pmu_event_name to get_config_name
  perf tools: Enable config raw and numeric events
  perf tools: Enable config and setting names for legacy cache events

 tools/perf/Documentation/perf-record.txt |   6 ++
 tools/perf/builtin-record.c  |   6 ++
 tools/perf/builtin-report.c  |  14 ++-
 tools/perf/builtin-stat.c|   3 +-
 tools/perf/perf.h|   2 +
 tools/perf/tests/code-reading.c  |  10 +-
 tools/perf/tests/parse-events.c  |  52 ++
 tools/perf/util/bpf-loader.c |   6 +-
 tools/perf/util/callchain.c  | 102 +-
 tools/perf/util/evlist.c |  24 -
 tools/perf/util/evsel.c  |  10 ++
 tools/perf/util/hist.c   |  55 +++---
 tools/perf/util/hist.h   |   6 +-
 tools/perf/util/parse-events.c   | 173 

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

2015-08-28 Thread Ingo Molnar

* Arnaldo Carvalho de Melo  wrote:

> Hi Ingo,
> 
>   Please consider pulling, this replaces the previous perf-core-for-mingo
> pull req, replacing the last patch in that series and adding a few more fixes 
> from
> Jiri and Wang,
> 
> Thanks,
> 
> - Arnaldo
> 
> The following changes since commit 0e53909a1cf0153736fb52c216558a65530d8c40:
> 
>   Merge tag 'perf-core-for-mingo' of 
> git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core 
> (2015-08-22 08:45:46 +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 a2fb3382edbea83c6f2bf6ac15e3673b2e254aad:
> 
>   tracing/uprobes: Do not print '0x (null)' when offset is 0 (2015-08-26 
> 10:43:01 -0300)
> 
> 
> perf/core improvements and fixes:
> 
> User visible:
> 
> - Add support for using several Intel PT features (CYC, MTC packets), the
>   relevant documentation was updated: tools/perf/Documentation/intel-pt.txt,
>   briefly describing those packets, its purposes, how to configure them in
>   the event config terms and relevant external documentation for further
>   reading. (Adrian Hunter)
> 
> - Introduce support for probing at an absolute address, for user and kernel
>   'perf probe's, useful when one have the symbol maps on a developer machine
>   but not on an embedded system (Wang Nan)
> 
> - Fix 'perf probe' list results when a symbol can't be found or the
>   address is zero and when an offset is provided without a function (Wang Nan)
> 
> - Do not print '0x (null)' in uprobes when offset is zero (Wang Nan)
> 
> - Clear the progress bar at the end of a ordered_events flush, fixing
>   an UI artifact when, after ordering the events the screen doesn't get
>   completely redraw, for instance, when an error window covers just the
>   center of the screen and waits for user input. (Arnaldo Carvalho de Melo)
> 
> - Fix 'annotate' segfault by resetting the dso find_symbol cache when removing
>   symbols (Arnaldo Carvalho de Melo)
> 
> Infrastructure:
> 
> - Allow duplicate objects in the object list, just like it is possible to have
>   things like this, in the kernel: (Jiri Olsa)
> 
>   drivers/Makefile:obj-$(CONFIG_PCI)+= usb/
>   drivers/Makefile:obj-$(CONFIG_USB_GADGET) += usb/
> 
> - Fix Intel PT 'instructions' sample period (Adrian Hunter)
> 
> - Prevent segfault when reading probe point with absolute address (Wang Nan)
> 
> Build fixes:
> 
> - Fix tarball build broken by pt/bts (Adrian Hunter)
> 
> - Remove export.h from MANIFEST, fixing the perf tarball make target (Jiri 
> Olsa)
> 
> Signed-off-by: Arnaldo Carvalho de Melo 
> 
> 
> Adrian Hunter (11):
>   perf tools: Fix tarball build broken by pt/bts
>   perf tools: Fix Intel PT 'instructions' sample period
>   perf tools: Add Intel PT support for PSB periods
>   perf tools: Add new Intel PT packet definitions
>   perf tools: Pass Intel PT information for decoding MTC and CYC
>   perf tools: Add Intel PT support for decoding MTC packets
>   perf tools: Add Intel PT support for using MTC packets
>   perf tools: Add Intel PT support for decoding CYC packets
>   perf tools: Add Intel PT support for using CYC packets
>   perf tools: Add Intel PT support for decoding TRACESTOP packets
>   perf tools: Update Intel PT documentation
> 
> Arnaldo Carvalho de Melo (3):
>   perf annotate: Reset the dso find_symbol cache when removing symbols
>   perf ui tui progress: Implement the ui_progress_ops->finish() method
>   perf ordered_events: Clear the progress bar at the end of a flush
> 
> Jiri Olsa (2):
>   perf tools: Remove export.h from MANIFEST
>   tools build: Allow duplicate objects in the object list
> 
> Wang Nan (6):
>   perf probe: Prevent segfault when reading probe point with absolute 
> address
>   perf probe: Fix list result when symbol can't be found
>   perf probe: Fix list result when address is zero
>   perf probe: Fix error reported when offset without function
>   perf probe: Support probing at absolute address
>   tracing/uprobes: Do not print '0x (null)' when offset is 0
> 
>  kernel/trace/trace_uprobe.c|  17 +-
>  tools/build/Documentation/Build.txt|   1 +
>  tools/build/Makefile.build |   2 +-
>  tools/build/tests/ex/Build |   1 +
>  tools/perf/Documentation/intel-pt.txt  | 194 ++-
>  tools/perf/MANIFEST|   1 -
>  tools/perf/arch/x86/util/intel-pt.c| 271 +-
>  tools/perf/builtin-annotate.c  |   1 +
>  tools/perf/ui/tui/progress.c   |  19 +-
>  tools/perf/util/dso.h  |   2 +
>  

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

2015-08-28 Thread Ingo Molnar

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

 Hi Ingo,
 
   Please consider pulling, this replaces the previous perf-core-for-mingo
 pull req, replacing the last patch in that series and adding a few more fixes 
 from
 Jiri and Wang,
 
 Thanks,
 
 - Arnaldo
 
 The following changes since commit 0e53909a1cf0153736fb52c216558a65530d8c40:
 
   Merge tag 'perf-core-for-mingo' of 
 git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core 
 (2015-08-22 08:45:46 +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 a2fb3382edbea83c6f2bf6ac15e3673b2e254aad:
 
   tracing/uprobes: Do not print '0x (null)' when offset is 0 (2015-08-26 
 10:43:01 -0300)
 
 
 perf/core improvements and fixes:
 
 User visible:
 
 - Add support for using several Intel PT features (CYC, MTC packets), the
   relevant documentation was updated: tools/perf/Documentation/intel-pt.txt,
   briefly describing those packets, its purposes, how to configure them in
   the event config terms and relevant external documentation for further
   reading. (Adrian Hunter)
 
 - Introduce support for probing at an absolute address, for user and kernel
   'perf probe's, useful when one have the symbol maps on a developer machine
   but not on an embedded system (Wang Nan)
 
 - Fix 'perf probe' list results when a symbol can't be found or the
   address is zero and when an offset is provided without a function (Wang Nan)
 
 - Do not print '0x (null)' in uprobes when offset is zero (Wang Nan)
 
 - Clear the progress bar at the end of a ordered_events flush, fixing
   an UI artifact when, after ordering the events the screen doesn't get
   completely redraw, for instance, when an error window covers just the
   center of the screen and waits for user input. (Arnaldo Carvalho de Melo)
 
 - Fix 'annotate' segfault by resetting the dso find_symbol cache when removing
   symbols (Arnaldo Carvalho de Melo)
 
 Infrastructure:
 
 - Allow duplicate objects in the object list, just like it is possible to have
   things like this, in the kernel: (Jiri Olsa)
 
   drivers/Makefile:obj-$(CONFIG_PCI)+= usb/
   drivers/Makefile:obj-$(CONFIG_USB_GADGET) += usb/
 
 - Fix Intel PT 'instructions' sample period (Adrian Hunter)
 
 - Prevent segfault when reading probe point with absolute address (Wang Nan)
 
 Build fixes:
 
 - Fix tarball build broken by pt/bts (Adrian Hunter)
 
 - Remove export.h from MANIFEST, fixing the perf tarball make target (Jiri 
 Olsa)
 
 Signed-off-by: Arnaldo Carvalho de Melo a...@redhat.com
 
 
 Adrian Hunter (11):
   perf tools: Fix tarball build broken by pt/bts
   perf tools: Fix Intel PT 'instructions' sample period
   perf tools: Add Intel PT support for PSB periods
   perf tools: Add new Intel PT packet definitions
   perf tools: Pass Intel PT information for decoding MTC and CYC
   perf tools: Add Intel PT support for decoding MTC packets
   perf tools: Add Intel PT support for using MTC packets
   perf tools: Add Intel PT support for decoding CYC packets
   perf tools: Add Intel PT support for using CYC packets
   perf tools: Add Intel PT support for decoding TRACESTOP packets
   perf tools: Update Intel PT documentation
 
 Arnaldo Carvalho de Melo (3):
   perf annotate: Reset the dso find_symbol cache when removing symbols
   perf ui tui progress: Implement the ui_progress_ops-finish() method
   perf ordered_events: Clear the progress bar at the end of a flush
 
 Jiri Olsa (2):
   perf tools: Remove export.h from MANIFEST
   tools build: Allow duplicate objects in the object list
 
 Wang Nan (6):
   perf probe: Prevent segfault when reading probe point with absolute 
 address
   perf probe: Fix list result when symbol can't be found
   perf probe: Fix list result when address is zero
   perf probe: Fix error reported when offset without function
   perf probe: Support probing at absolute address
   tracing/uprobes: Do not print '0x (null)' when offset is 0
 
  kernel/trace/trace_uprobe.c|  17 +-
  tools/build/Documentation/Build.txt|   1 +
  tools/build/Makefile.build |   2 +-
  tools/build/tests/ex/Build |   1 +
  tools/perf/Documentation/intel-pt.txt  | 194 ++-
  tools/perf/MANIFEST|   1 -
  tools/perf/arch/x86/util/intel-pt.c| 271 +-
  tools/perf/builtin-annotate.c  |   1 +
  tools/perf/ui/tui/progress.c   |  19 +-
  tools/perf/util/dso.h  |   2 +
  tools/perf/util/intel-pt-decoder/inat.c|   2 +-
  tools/perf/util/intel-pt-decoder/inat.h   

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

2015-08-26 Thread Arnaldo Carvalho de Melo
Hi Ingo,

Please consider pulling, this replaces the previous perf-core-for-mingo
pull req, replacing the last patch in that series and adding a few more fixes 
from
Jiri and Wang,

Thanks,

- Arnaldo

The following changes since commit 0e53909a1cf0153736fb52c216558a65530d8c40:

  Merge tag 'perf-core-for-mingo' of 
git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core 
(2015-08-22 08:45:46 +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 a2fb3382edbea83c6f2bf6ac15e3673b2e254aad:

  tracing/uprobes: Do not print '0x (null)' when offset is 0 (2015-08-26 
10:43:01 -0300)


perf/core improvements and fixes:

User visible:

- Add support for using several Intel PT features (CYC, MTC packets), the
  relevant documentation was updated: tools/perf/Documentation/intel-pt.txt,
  briefly describing those packets, its purposes, how to configure them in
  the event config terms and relevant external documentation for further
  reading. (Adrian Hunter)

- Introduce support for probing at an absolute address, for user and kernel
  'perf probe's, useful when one have the symbol maps on a developer machine
  but not on an embedded system (Wang Nan)

- Fix 'perf probe' list results when a symbol can't be found or the
  address is zero and when an offset is provided without a function (Wang Nan)

- Do not print '0x (null)' in uprobes when offset is zero (Wang Nan)

- Clear the progress bar at the end of a ordered_events flush, fixing
  an UI artifact when, after ordering the events the screen doesn't get
  completely redraw, for instance, when an error window covers just the
  center of the screen and waits for user input. (Arnaldo Carvalho de Melo)

- Fix 'annotate' segfault by resetting the dso find_symbol cache when removing
  symbols (Arnaldo Carvalho de Melo)

Infrastructure:

- Allow duplicate objects in the object list, just like it is possible to have
  things like this, in the kernel: (Jiri Olsa)

  drivers/Makefile:obj-$(CONFIG_PCI)+= usb/
  drivers/Makefile:obj-$(CONFIG_USB_GADGET) += usb/

- Fix Intel PT 'instructions' sample period (Adrian Hunter)

- Prevent segfault when reading probe point with absolute address (Wang Nan)

Build fixes:

- Fix tarball build broken by pt/bts (Adrian Hunter)

- Remove export.h from MANIFEST, fixing the perf tarball make target (Jiri Olsa)

Signed-off-by: Arnaldo Carvalho de Melo 


Adrian Hunter (11):
  perf tools: Fix tarball build broken by pt/bts
  perf tools: Fix Intel PT 'instructions' sample period
  perf tools: Add Intel PT support for PSB periods
  perf tools: Add new Intel PT packet definitions
  perf tools: Pass Intel PT information for decoding MTC and CYC
  perf tools: Add Intel PT support for decoding MTC packets
  perf tools: Add Intel PT support for using MTC packets
  perf tools: Add Intel PT support for decoding CYC packets
  perf tools: Add Intel PT support for using CYC packets
  perf tools: Add Intel PT support for decoding TRACESTOP packets
  perf tools: Update Intel PT documentation

Arnaldo Carvalho de Melo (3):
  perf annotate: Reset the dso find_symbol cache when removing symbols
  perf ui tui progress: Implement the ui_progress_ops->finish() method
  perf ordered_events: Clear the progress bar at the end of a flush

Jiri Olsa (2):
  perf tools: Remove export.h from MANIFEST
  tools build: Allow duplicate objects in the object list

Wang Nan (6):
  perf probe: Prevent segfault when reading probe point with absolute 
address
  perf probe: Fix list result when symbol can't be found
  perf probe: Fix list result when address is zero
  perf probe: Fix error reported when offset without function
  perf probe: Support probing at absolute address
  tracing/uprobes: Do not print '0x (null)' when offset is 0

 kernel/trace/trace_uprobe.c|  17 +-
 tools/build/Documentation/Build.txt|   1 +
 tools/build/Makefile.build |   2 +-
 tools/build/tests/ex/Build |   1 +
 tools/perf/Documentation/intel-pt.txt  | 194 ++-
 tools/perf/MANIFEST|   1 -
 tools/perf/arch/x86/util/intel-pt.c| 271 +-
 tools/perf/builtin-annotate.c  |   1 +
 tools/perf/ui/tui/progress.c   |  19 +-
 tools/perf/util/dso.h  |   2 +
 tools/perf/util/intel-pt-decoder/inat.c|   2 +-
 tools/perf/util/intel-pt-decoder/inat.h|   2 +-
 tools/perf/util/intel-pt-decoder/inat_types.h  |  29 ++
 tools/perf/util/intel-pt-decoder/insn.c|   4 +-
 tools/perf/util/intel-pt-decoder/insn.h 

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

2015-08-26 Thread Arnaldo Carvalho de Melo
Hi Ingo,

Please consider pulling, this replaces the previous perf-core-for-mingo
pull req, replacing the last patch in that series and adding a few more fixes 
from
Jiri and Wang,

Thanks,

- Arnaldo

The following changes since commit 0e53909a1cf0153736fb52c216558a65530d8c40:

  Merge tag 'perf-core-for-mingo' of 
git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core 
(2015-08-22 08:45:46 +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 a2fb3382edbea83c6f2bf6ac15e3673b2e254aad:

  tracing/uprobes: Do not print '0x (null)' when offset is 0 (2015-08-26 
10:43:01 -0300)


perf/core improvements and fixes:

User visible:

- Add support for using several Intel PT features (CYC, MTC packets), the
  relevant documentation was updated: tools/perf/Documentation/intel-pt.txt,
  briefly describing those packets, its purposes, how to configure them in
  the event config terms and relevant external documentation for further
  reading. (Adrian Hunter)

- Introduce support for probing at an absolute address, for user and kernel
  'perf probe's, useful when one have the symbol maps on a developer machine
  but not on an embedded system (Wang Nan)

- Fix 'perf probe' list results when a symbol can't be found or the
  address is zero and when an offset is provided without a function (Wang Nan)

- Do not print '0x (null)' in uprobes when offset is zero (Wang Nan)

- Clear the progress bar at the end of a ordered_events flush, fixing
  an UI artifact when, after ordering the events the screen doesn't get
  completely redraw, for instance, when an error window covers just the
  center of the screen and waits for user input. (Arnaldo Carvalho de Melo)

- Fix 'annotate' segfault by resetting the dso find_symbol cache when removing
  symbols (Arnaldo Carvalho de Melo)

Infrastructure:

- Allow duplicate objects in the object list, just like it is possible to have
  things like this, in the kernel: (Jiri Olsa)

  drivers/Makefile:obj-$(CONFIG_PCI)+= usb/
  drivers/Makefile:obj-$(CONFIG_USB_GADGET) += usb/

- Fix Intel PT 'instructions' sample period (Adrian Hunter)

- Prevent segfault when reading probe point with absolute address (Wang Nan)

Build fixes:

- Fix tarball build broken by pt/bts (Adrian Hunter)

- Remove export.h from MANIFEST, fixing the perf tarball make target (Jiri Olsa)

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


Adrian Hunter (11):
  perf tools: Fix tarball build broken by pt/bts
  perf tools: Fix Intel PT 'instructions' sample period
  perf tools: Add Intel PT support for PSB periods
  perf tools: Add new Intel PT packet definitions
  perf tools: Pass Intel PT information for decoding MTC and CYC
  perf tools: Add Intel PT support for decoding MTC packets
  perf tools: Add Intel PT support for using MTC packets
  perf tools: Add Intel PT support for decoding CYC packets
  perf tools: Add Intel PT support for using CYC packets
  perf tools: Add Intel PT support for decoding TRACESTOP packets
  perf tools: Update Intel PT documentation

Arnaldo Carvalho de Melo (3):
  perf annotate: Reset the dso find_symbol cache when removing symbols
  perf ui tui progress: Implement the ui_progress_ops-finish() method
  perf ordered_events: Clear the progress bar at the end of a flush

Jiri Olsa (2):
  perf tools: Remove export.h from MANIFEST
  tools build: Allow duplicate objects in the object list

Wang Nan (6):
  perf probe: Prevent segfault when reading probe point with absolute 
address
  perf probe: Fix list result when symbol can't be found
  perf probe: Fix list result when address is zero
  perf probe: Fix error reported when offset without function
  perf probe: Support probing at absolute address
  tracing/uprobes: Do not print '0x (null)' when offset is 0

 kernel/trace/trace_uprobe.c|  17 +-
 tools/build/Documentation/Build.txt|   1 +
 tools/build/Makefile.build |   2 +-
 tools/build/tests/ex/Build |   1 +
 tools/perf/Documentation/intel-pt.txt  | 194 ++-
 tools/perf/MANIFEST|   1 -
 tools/perf/arch/x86/util/intel-pt.c| 271 +-
 tools/perf/builtin-annotate.c  |   1 +
 tools/perf/ui/tui/progress.c   |  19 +-
 tools/perf/util/dso.h  |   2 +
 tools/perf/util/intel-pt-decoder/inat.c|   2 +-
 tools/perf/util/intel-pt-decoder/inat.h|   2 +-
 tools/perf/util/intel-pt-decoder/inat_types.h  |  29 ++
 tools/perf/util/intel-pt-decoder/insn.c|   4 +-
 

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

2014-05-22 Thread Ingo Molnar

* Jiri Olsa  wrote:

> hi Ingo,
> please consider pulling
> 
> thanks,
> jirka
> 
> 
> The following changes since commit 6480c56130ba073df84d57d61062ec4118b10bbe:
> 
>   Merge tag 'perf-core-for-mingo' of 
> git://git.kernel.org/pub/scm/linux/kernel/git/jolsa/perf into perf/core 
> (2014-05-20 08:36:09 +0200)
> 
> are available in the git repository at:
> 
> 
>   git://git.kernel.org/pub/scm/linux/kernel/git/jolsa/perf.git 
> tags/perf-core-for-mingo
> 
> for you to fetch changes up to eca8183699964579ca8a0b8d116bd1f4da0136f7:
> 
>   perf tools: Add automatic remapping of Android libraries (2014-05-21 
> 15:03:25 +0200)
> 
> 
> perf/core improvements and fixes:
> 
> . Android related fixes for pager and map dso resolving (Michael Lentine)
> 
> . Add -F option for specifying output fields (Namhyung Kim)
> 
> Signed-off-by: Jiri Olsa 
> 
> 
> Michael Lentine (2):
>   perf tools: Add cat as fallback pager
>   perf tools: Add automatic remapping of Android libraries
> 
> Namhyung Kim (20):
>   perf tools: Add ->cmp(), ->collapse() and ->sort() to perf_hpp_fmt
>   perf tools: Convert sort entries to hpp formats
>   perf tools: Use hpp formats to sort hist entries
>   perf tools: Support event grouping in hpp ->sort()
>   perf tools: Use hpp formats to sort final output
>   perf tools: Consolidate output field handling to hpp format routines
>   perf ui: Get rid of callback from __hpp__fmt()
>   perf tools: Allow hpp fields to be sort keys
>   perf tools: Consolidate management of default sort orders
>   perf tools: Call perf_hpp__init() before setting up GUI browsers
>   perf report: Add -F option to specify output fields
>   perf tools: Add ->sort() member to struct sort_entry
>   perf report/tui: Fix a bug when --fields/sort is given
>   perf top: Add --fields option to specify output fields
>   perf tools: Skip elided sort entries
>   perf hists: Reset width of output fields with header length
>   perf tools: Get rid of obsolete hist_entry__sort_list
>   perf tools: Introduce reset_output_field()
>   perf tests: Factor out print_hists_*()
>   perf tests: Add a testcase for histogram output sorting
> 
>  tools/perf/Documentation/perf-diff.txt   |   5 +-
>  tools/perf/Documentation/perf-report.txt |  19 +
>  tools/perf/Documentation/perf-top.txt|  14 +-
>  tools/perf/Makefile.perf |   1 +
>  tools/perf/builtin-diff.c|   7 +-
>  tools/perf/builtin-report.c  |  41 +-
>  tools/perf/builtin-top.c |  20 +-
>  tools/perf/tests/builtin-test.c  |   4 +
>  tools/perf/tests/hists_common.c  |  57 +++
>  tools/perf/tests/hists_common.h  |   3 +
>  tools/perf/tests/hists_filter.c  |  38 +-
>  tools/perf/tests/hists_link.c|  30 +-
>  tools/perf/tests/hists_output.c  | 618 
> +++
>  tools/perf/tests/tests.h |   1 +
>  tools/perf/ui/browsers/hists.c   | 104 +++---
>  tools/perf/ui/gtk/hists.c|  41 +-
>  tools/perf/ui/hist.c | 244 +---
>  tools/perf/ui/setup.c|   2 -
>  tools/perf/ui/stdio/hist.c   |  79 ++--
>  tools/perf/util/hist.c   |  83 ++---
>  tools/perf/util/hist.h   |  27 +-
>  tools/perf/util/map.c|  95 -
>  tools/perf/util/pager.c  |  12 +-
>  tools/perf/util/sort.c   | 436 --
>  tools/perf/util/sort.h   |   6 +
>  25 files changed, 1601 insertions(+), 386 deletions(-)
>  create mode 100644 tools/perf/tests/hists_output.c

Pulled, thanks a lot Jiri!

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/22] perf/core improvements and fixes

2014-05-22 Thread Ingo Molnar

* Jiri Olsa jo...@kernel.org wrote:

 hi Ingo,
 please consider pulling
 
 thanks,
 jirka
 
 
 The following changes since commit 6480c56130ba073df84d57d61062ec4118b10bbe:
 
   Merge tag 'perf-core-for-mingo' of 
 git://git.kernel.org/pub/scm/linux/kernel/git/jolsa/perf into perf/core 
 (2014-05-20 08:36:09 +0200)
 
 are available in the git repository at:
 
 
   git://git.kernel.org/pub/scm/linux/kernel/git/jolsa/perf.git 
 tags/perf-core-for-mingo
 
 for you to fetch changes up to eca8183699964579ca8a0b8d116bd1f4da0136f7:
 
   perf tools: Add automatic remapping of Android libraries (2014-05-21 
 15:03:25 +0200)
 
 
 perf/core improvements and fixes:
 
 . Android related fixes for pager and map dso resolving (Michael Lentine)
 
 . Add -F option for specifying output fields (Namhyung Kim)
 
 Signed-off-by: Jiri Olsa jo...@kernel.org
 
 
 Michael Lentine (2):
   perf tools: Add cat as fallback pager
   perf tools: Add automatic remapping of Android libraries
 
 Namhyung Kim (20):
   perf tools: Add -cmp(), -collapse() and -sort() to perf_hpp_fmt
   perf tools: Convert sort entries to hpp formats
   perf tools: Use hpp formats to sort hist entries
   perf tools: Support event grouping in hpp -sort()
   perf tools: Use hpp formats to sort final output
   perf tools: Consolidate output field handling to hpp format routines
   perf ui: Get rid of callback from __hpp__fmt()
   perf tools: Allow hpp fields to be sort keys
   perf tools: Consolidate management of default sort orders
   perf tools: Call perf_hpp__init() before setting up GUI browsers
   perf report: Add -F option to specify output fields
   perf tools: Add -sort() member to struct sort_entry
   perf report/tui: Fix a bug when --fields/sort is given
   perf top: Add --fields option to specify output fields
   perf tools: Skip elided sort entries
   perf hists: Reset width of output fields with header length
   perf tools: Get rid of obsolete hist_entry__sort_list
   perf tools: Introduce reset_output_field()
   perf tests: Factor out print_hists_*()
   perf tests: Add a testcase for histogram output sorting
 
  tools/perf/Documentation/perf-diff.txt   |   5 +-
  tools/perf/Documentation/perf-report.txt |  19 +
  tools/perf/Documentation/perf-top.txt|  14 +-
  tools/perf/Makefile.perf |   1 +
  tools/perf/builtin-diff.c|   7 +-
  tools/perf/builtin-report.c  |  41 +-
  tools/perf/builtin-top.c |  20 +-
  tools/perf/tests/builtin-test.c  |   4 +
  tools/perf/tests/hists_common.c  |  57 +++
  tools/perf/tests/hists_common.h  |   3 +
  tools/perf/tests/hists_filter.c  |  38 +-
  tools/perf/tests/hists_link.c|  30 +-
  tools/perf/tests/hists_output.c  | 618 
 +++
  tools/perf/tests/tests.h |   1 +
  tools/perf/ui/browsers/hists.c   | 104 +++---
  tools/perf/ui/gtk/hists.c|  41 +-
  tools/perf/ui/hist.c | 244 +---
  tools/perf/ui/setup.c|   2 -
  tools/perf/ui/stdio/hist.c   |  79 ++--
  tools/perf/util/hist.c   |  83 ++---
  tools/perf/util/hist.h   |  27 +-
  tools/perf/util/map.c|  95 -
  tools/perf/util/pager.c  |  12 +-
  tools/perf/util/sort.c   | 436 --
  tools/perf/util/sort.h   |   6 +
  25 files changed, 1601 insertions(+), 386 deletions(-)
  create mode 100644 tools/perf/tests/hists_output.c

Pulled, thanks a lot Jiri!

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/22] perf/core improvements and fixes

2014-05-21 Thread Jiri Olsa
hi Ingo,
please consider pulling

thanks,
jirka


The following changes since commit 6480c56130ba073df84d57d61062ec4118b10bbe:

  Merge tag 'perf-core-for-mingo' of 
git://git.kernel.org/pub/scm/linux/kernel/git/jolsa/perf into perf/core 
(2014-05-20 08:36:09 +0200)

are available in the git repository at:


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

for you to fetch changes up to eca8183699964579ca8a0b8d116bd1f4da0136f7:

  perf tools: Add automatic remapping of Android libraries (2014-05-21 15:03:25 
+0200)


perf/core improvements and fixes:

. Android related fixes for pager and map dso resolving (Michael Lentine)

. Add -F option for specifying output fields (Namhyung Kim)

Signed-off-by: Jiri Olsa 


Michael Lentine (2):
  perf tools: Add cat as fallback pager
  perf tools: Add automatic remapping of Android libraries

Namhyung Kim (20):
  perf tools: Add ->cmp(), ->collapse() and ->sort() to perf_hpp_fmt
  perf tools: Convert sort entries to hpp formats
  perf tools: Use hpp formats to sort hist entries
  perf tools: Support event grouping in hpp ->sort()
  perf tools: Use hpp formats to sort final output
  perf tools: Consolidate output field handling to hpp format routines
  perf ui: Get rid of callback from __hpp__fmt()
  perf tools: Allow hpp fields to be sort keys
  perf tools: Consolidate management of default sort orders
  perf tools: Call perf_hpp__init() before setting up GUI browsers
  perf report: Add -F option to specify output fields
  perf tools: Add ->sort() member to struct sort_entry
  perf report/tui: Fix a bug when --fields/sort is given
  perf top: Add --fields option to specify output fields
  perf tools: Skip elided sort entries
  perf hists: Reset width of output fields with header length
  perf tools: Get rid of obsolete hist_entry__sort_list
  perf tools: Introduce reset_output_field()
  perf tests: Factor out print_hists_*()
  perf tests: Add a testcase for histogram output sorting

 tools/perf/Documentation/perf-diff.txt   |   5 +-
 tools/perf/Documentation/perf-report.txt |  19 +
 tools/perf/Documentation/perf-top.txt|  14 +-
 tools/perf/Makefile.perf |   1 +
 tools/perf/builtin-diff.c|   7 +-
 tools/perf/builtin-report.c  |  41 +-
 tools/perf/builtin-top.c |  20 +-
 tools/perf/tests/builtin-test.c  |   4 +
 tools/perf/tests/hists_common.c  |  57 +++
 tools/perf/tests/hists_common.h  |   3 +
 tools/perf/tests/hists_filter.c  |  38 +-
 tools/perf/tests/hists_link.c|  30 +-
 tools/perf/tests/hists_output.c  | 618 +++
 tools/perf/tests/tests.h |   1 +
 tools/perf/ui/browsers/hists.c   | 104 +++---
 tools/perf/ui/gtk/hists.c|  41 +-
 tools/perf/ui/hist.c | 244 +---
 tools/perf/ui/setup.c|   2 -
 tools/perf/ui/stdio/hist.c   |  79 ++--
 tools/perf/util/hist.c   |  83 ++---
 tools/perf/util/hist.h   |  27 +-
 tools/perf/util/map.c|  95 -
 tools/perf/util/pager.c  |  12 +-
 tools/perf/util/sort.c   | 436 --
 tools/perf/util/sort.h   |   6 +
 25 files changed, 1601 insertions(+), 386 deletions(-)
 create mode 100644 tools/perf/tests/hists_output.c
--
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/22] perf/core improvements and fixes

2014-05-21 Thread Jiri Olsa
hi Ingo,
please consider pulling

thanks,
jirka


The following changes since commit 6480c56130ba073df84d57d61062ec4118b10bbe:

  Merge tag 'perf-core-for-mingo' of 
git://git.kernel.org/pub/scm/linux/kernel/git/jolsa/perf into perf/core 
(2014-05-20 08:36:09 +0200)

are available in the git repository at:


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

for you to fetch changes up to eca8183699964579ca8a0b8d116bd1f4da0136f7:

  perf tools: Add automatic remapping of Android libraries (2014-05-21 15:03:25 
+0200)


perf/core improvements and fixes:

. Android related fixes for pager and map dso resolving (Michael Lentine)

. Add -F option for specifying output fields (Namhyung Kim)

Signed-off-by: Jiri Olsa jo...@kernel.org


Michael Lentine (2):
  perf tools: Add cat as fallback pager
  perf tools: Add automatic remapping of Android libraries

Namhyung Kim (20):
  perf tools: Add -cmp(), -collapse() and -sort() to perf_hpp_fmt
  perf tools: Convert sort entries to hpp formats
  perf tools: Use hpp formats to sort hist entries
  perf tools: Support event grouping in hpp -sort()
  perf tools: Use hpp formats to sort final output
  perf tools: Consolidate output field handling to hpp format routines
  perf ui: Get rid of callback from __hpp__fmt()
  perf tools: Allow hpp fields to be sort keys
  perf tools: Consolidate management of default sort orders
  perf tools: Call perf_hpp__init() before setting up GUI browsers
  perf report: Add -F option to specify output fields
  perf tools: Add -sort() member to struct sort_entry
  perf report/tui: Fix a bug when --fields/sort is given
  perf top: Add --fields option to specify output fields
  perf tools: Skip elided sort entries
  perf hists: Reset width of output fields with header length
  perf tools: Get rid of obsolete hist_entry__sort_list
  perf tools: Introduce reset_output_field()
  perf tests: Factor out print_hists_*()
  perf tests: Add a testcase for histogram output sorting

 tools/perf/Documentation/perf-diff.txt   |   5 +-
 tools/perf/Documentation/perf-report.txt |  19 +
 tools/perf/Documentation/perf-top.txt|  14 +-
 tools/perf/Makefile.perf |   1 +
 tools/perf/builtin-diff.c|   7 +-
 tools/perf/builtin-report.c  |  41 +-
 tools/perf/builtin-top.c |  20 +-
 tools/perf/tests/builtin-test.c  |   4 +
 tools/perf/tests/hists_common.c  |  57 +++
 tools/perf/tests/hists_common.h  |   3 +
 tools/perf/tests/hists_filter.c  |  38 +-
 tools/perf/tests/hists_link.c|  30 +-
 tools/perf/tests/hists_output.c  | 618 +++
 tools/perf/tests/tests.h |   1 +
 tools/perf/ui/browsers/hists.c   | 104 +++---
 tools/perf/ui/gtk/hists.c|  41 +-
 tools/perf/ui/hist.c | 244 +---
 tools/perf/ui/setup.c|   2 -
 tools/perf/ui/stdio/hist.c   |  79 ++--
 tools/perf/util/hist.c   |  83 ++---
 tools/perf/util/hist.h   |  27 +-
 tools/perf/util/map.c|  95 -
 tools/perf/util/pager.c  |  12 +-
 tools/perf/util/sort.c   | 436 --
 tools/perf/util/sort.h   |   6 +
 25 files changed, 1601 insertions(+), 386 deletions(-)
 create mode 100644 tools/perf/tests/hists_output.c
--
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/