All of lore.kernel.org
 help / color / mirror / Atom feed
From: Arnaldo Carvalho de Melo <acme@kernel.org>
To: Ingo Molnar <mingo@kernel.org>
Cc: linux-kernel@vger.kernel.org,
	Arnaldo Carvalho de Melo <acme@kernel.org>,
	Adrian Hunter <adrian.hunter@intel.com>,
	Alexander Shishkin <alexander.shishkin@linux.intel.com>,
	Alexei Starovoitov <ast@fb.com>,
	Chris Ryder <chris.ryder@arm.com>,
	David Ahern <dsa@cumulusnetworks.com>,
	He Kuang <hekuang@huawei.com>, Jiri Olsa <jolsa@kernel.org>,
	Joe Stringer <joe@ovn.org>, Kim Phillips <kim.phillips@arm.com>,
	Mark Rutland <mark.rutland@arm.com>,
	Namhyung Kim <namhyung@kernel.org>,
	Pawel Moll <pawel.moll@arm.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Wang Nan <wangnan0@huawei.com>, Will Deacon <will.deacon@arm.com>,
	Zefan Li <lizefan@huawei.com>,
	pi3orama@163.com, Arnaldo Carvalho de Melo <acme@redhat.com>
Subject: [GIT PULL 00/19] perf/core improvements and fixes
Date: Thu,  1 Dec 2016 15:02:16 -0300	[thread overview]
Message-ID: <20161201180235.18392-1-acme@kernel.org> (raw)

Hi Ingo,

	Please consider pulling,

- Arnaldo

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

The following changes since commit 2471cece40d61b0035360338569d338f9dea6099:

  Merge tag 'perf-core-for-mingo-20161125' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core (2016-11-25 18:12:41 +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-20161201

for you to fetch changes up to 0fcb1da4aba6e6c7b32de5e0948b740b31ad822d:

  perf annotate: AArch64 support (2016-12-01 13:03:19 -0300)

----------------------------------------------------------------
perf/core improvements and fixes:

New features:

- Support AArch64 in the 'annotate' code, native/local and
  cross-arch/remote (Kim Phillips)

- Allow considering just events in a given time interval, via the
  '--time start.s.ms,end.s.ms' command line, added to 'perf kmem',
  'perf report', 'perf sched timehist' and 'perf script' (David Ahern)

- Add option to stop printing a callchain at one of a given group of
  symbol names (David Ahern)

- Handle cpu migration events in 'perf sched timehist' (David Ahern)

- Track memory freed in 'perf kmem stat' (David Ahern)

Infrastructure:

- Initial support (and perf test entry) for tooling hooks, starting with
  'record_start' and 'record_end', that will have as its initial user the
  eBPF infrastructure, where perf_ prefixed functions will be JITed and
  run when such hooks are called (Wang Nan)

- Remove redundant "test" and similar strings from 'perf test' descriptions
  (Arnaldo Carvalho de Melo)

- libbpf assorted improvements (Wang Nan)

Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

----------------------------------------------------------------
Arnaldo Carvalho de Melo (3):
      perf ui helpline: Provide a printf variant
      perf annotate: Show invalid jump offset in error message
      perf test: Remove "test" and similar strings from test descriptions

David Ahern (10):
      perf sched timehist: Handle cpu migration events
      perf trace: Update tid/pid filtering option to leverage symbol_conf
      perf kmem stat: Track memory freed
      perf script: Add option to stop printing callchain
      perf tools: Add time-based utility functions
      perf tools: Move parse_nsec_time to time-utils.c
      perf script: Add option to specify time window of interest
      perf sched timehist: Add option to specify time window of interest
      perf kmem: Add option to specify time window of interest
      perf report: Add option to specify time window of interest

Kim Phillips (2):
      perf annotate: Use arch->objdump.comment_char in dec__parse()
      perf annotate: AArch64 support

Wang Nan (4):
      tools lib bpf: Add missing BPF functions
      tools lib bpf: Add private field for bpf_object
      tools lib bpf: Retrive bpf_map through offset of bpf_map_def
      perf tools: Introduce perf hooks

 tools/lib/bpf/bpf.c                           |  56 ++++++++++
 tools/lib/bpf/bpf.h                           |   7 ++
 tools/lib/bpf/libbpf.c                        |  35 ++++++
 tools/lib/bpf/libbpf.h                        |  13 +++
 tools/perf/Documentation/perf-kmem.txt        |   7 ++
 tools/perf/Documentation/perf-report.txt      |   7 ++
 tools/perf/Documentation/perf-sched.txt       |  12 +++
 tools/perf/Documentation/perf-script.txt      |  10 ++
 tools/perf/arch/arm64/annotate/instructions.c |  62 +++++++++++
 tools/perf/arch/x86/tests/arch-tests.c        |  10 +-
 tools/perf/builtin-kmem.c                     |  36 ++++++-
 tools/perf/builtin-record.c                   |  11 ++
 tools/perf/builtin-report.c                   |  14 ++-
 tools/perf/builtin-sched.c                    | 148 ++++++++++++++++++++++++--
 tools/perf/builtin-script.c                   |  17 ++-
 tools/perf/builtin-trace.c                    |  49 ++-------
 tools/perf/tests/Build                        |   1 +
 tools/perf/tests/bpf.c                        |   6 +-
 tools/perf/tests/builtin-test.c               |  96 +++++++++--------
 tools/perf/tests/llvm.c                       |   8 +-
 tools/perf/tests/perf-hooks.c                 |  44 ++++++++
 tools/perf/tests/tests.h                      |   1 +
 tools/perf/ui/browsers/annotate.c             |   6 +-
 tools/perf/ui/helpline.c                      |  10 ++
 tools/perf/ui/helpline.h                      |   1 +
 tools/perf/util/Build                         |   3 +
 tools/perf/util/annotate.c                    |   7 +-
 tools/perf/util/evsel_fprintf.c               |   8 ++
 tools/perf/util/perf-hooks-list.h             |   3 +
 tools/perf/util/perf-hooks.c                  |  84 +++++++++++++++
 tools/perf/util/perf-hooks.h                  |  37 +++++++
 tools/perf/util/symbol.c                      |   8 ++
 tools/perf/util/symbol.h                      |   6 +-
 tools/perf/util/time-utils.c                  | 119 +++++++++++++++++++++
 tools/perf/util/time-utils.h                  |  14 +++
 tools/perf/util/util.c                        |  33 ------
 tools/perf/util/util.h                        |   2 -
 37 files changed, 842 insertions(+), 149 deletions(-)
 create mode 100644 tools/perf/arch/arm64/annotate/instructions.c
 create mode 100644 tools/perf/tests/perf-hooks.c
 create mode 100644 tools/perf/util/perf-hooks-list.h
 create mode 100644 tools/perf/util/perf-hooks.c
 create mode 100644 tools/perf/util/perf-hooks.h
 create mode 100644 tools/perf/util/time-utils.c
 create mode 100644 tools/perf/util/time-utils.h

  # uname -a
  Linux jouet 4.8.8-300.fc25.x86_64 #1 SMP Tue Nov 15 18:10:06 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
  # perf test
   1: vmlinux symtab matches kallsyms            : Ok
   2: Detect openat syscall event                : Ok
   3: Detect openat syscall event on all cpus    : Ok
   4: Read samples using the mmap interface      : Ok
   5: Parse event definition strings             : Ok
   6: PERF_RECORD_* events & perf_sample fields  : Ok
   7: Parse perf pmu format                      : Ok
   8: DSO data read                              : Ok
   9: DSO data cache                             : Ok
  10: DSO data reopen                            : Ok
  11: Roundtrip evsel->name                      : Ok
  12: Parse sched tracepoints fields             : Ok
  13: syscalls:sys_enter_openat event fields     : Ok
  14: Setup struct perf_event_attr               : Ok
  15: Match and link multiple hists              : Ok
  16: 'import perf' in python                    : Ok
  17: Breakpoint overflow signal handler         : Ok
  18: Breakpoint overflow sampling               : Ok
  19: Number of exit events of a simple workload : Ok
  20: Software clock events period values        : Ok
  21: Object code reading                        : Ok
  22: Sample parsing                             : Ok
  23: Use a dummy software event to keep tracking: Ok
  24: Parse with no sample_id_all bit set        : Ok
  25: Filter hist entries                        : Ok
  26: Lookup mmap thread                         : Ok
  27: Share thread mg                            : Ok
  28: Sort output of hist entries                : Ok
  29: Cumulate child hist entries                : Ok
  30: Track with sched_switch                    : Ok
  31: Filter fds with revents mask in a fdarray  : Ok
  32: Add fd to a fdarray, making it autogrow    : Ok
  33: kmod_path__parse                           : Ok
  34: Thread map                                 : Ok
  35: LLVM search and compile                    :
  35.1: Basic BPF llvm compile                    : Ok
  35.2: kbuild searching                          : Ok
  35.3: Compile source for BPF prologue generation: Ok
  35.4: Compile source for BPF relocation         : Ok
  36: Session topology                           : Ok
  37: BPF filter                                 :
  37.1: Basic BPF filtering                      : Ok
  37.2: BPF prologue generation                  : Ok
  37.3: BPF relocation checker                   : Ok
  38: Synthesize thread map                      : Ok
  39: Synthesize cpu map                         : Ok
  40: Synthesize stat config                     : Ok
  41: Synthesize stat                            : Ok
  42: Synthesize stat round                      : Ok
  43: Synthesize attr update                     : Ok
  44: Event times                                : Ok
  45: Read backward ring buffer                  : Ok
  46: Print cpu map                              : Ok
  47: Probe SDT events                           : Ok
  48: is_printable_array                         : Ok
  49: Print bitmap                               : Ok
  50: perf hooks                                 : Ok
  51: x86 rdpmc                                  : Ok
  52: Convert perf time to TSC                   : Ok
  53: DWARF unwind                               : Ok
  54: x86 instruction decoder - new instructions : Ok
  55: Intel cqm nmi context read                 : Skip
  # 
  # uname -a
  Linux zoo 4.7.3-200.fc24.x86_64 #1 SMP Wed Sep 7 17:31:21 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
  # dm
   1 alpine:3.4: Ok
   2 android-ndk:r12b-arm: Ok
   3 archlinux:latest: Ok
   4 centos:5: Ok
   5 centos:6: Ok
   6 centos:7: Ok
   7 debian:7: Ok
   8 debian:8: Ok
   9 debian:experimental: Ok
  10 fedora:20: Ok
  11 fedora:21: Ok
  12 fedora:22: Ok
  13 fedora:23: Ok
  14 fedora:24: Ok
  15 fedora:24-x-ARC-uClibc: Ok
  16 fedora:rawhide: Ok
  17 mageia:5: Ok
  18 opensuse:13.2: Ok
  19 opensuse:42.1: Ok
  20 opensuse:tumbleweed: Ok
  21 ubuntu:12.04.5: Ok
  22 ubuntu:14.04: Ok
  23 ubuntu:14.04.4: Ok
  24 ubuntu:15.10: Ok
  25 ubuntu:16.04: Ok
  26 ubuntu:16.04-x-arm: Ok
  27 ubuntu:16.04-x-arm64: Ok
  28 ubuntu:16.04-x-powerpc: Ok
  29 ubuntu:16.04-x-powerpc64: Ok
  30 ubuntu:16.04-x-powerpc64el: Ok
  31 ubuntu:16.04-x-s390: Ok
  32 ubuntu:16.10: Ok
  #
  $ grep PRETTY_NAME /etc/os-release 
  PRETTY_NAME="Fedora 25 (Workstation Edition)"
  $ 
  $ perf stat make -C tools/perf build-test
  make: Entering directory '/home/acme/git/linux/tools/perf'
  - tarpkg: ./tests/perf-targz-src-pkg .
               make_no_slang_O: make NO_SLANG=1
             make_util_map_o_O: make util/map.o
                 make_static_O: make LDFLAGS=-static
  make_no_libdw_dwarf_unwind_O: make NO_LIBDW_DWARF_UNWIND=1
                 make_perf_o_O: make perf.o
           make_no_libunwind_O: make NO_LIBUNWIND=1
              make_no_libelf_O: make NO_LIBELF=1
       make_util_pmu_bison_o_O: make util/pmu-bison.o
           make_no_backtrace_O: make NO_BACKTRACE=1
                  make_no_ui_O: make NO_NEWT=1 NO_SLANG=1 NO_GTK2=1
            make_no_demangle_O: make NO_DEMANGLE=1
             make_no_libperl_O: make NO_LIBPERL=1
                   make_tags_O: make tags
             make_no_scripts_O: make NO_LIBPYTHON=1 NO_LIBPERL=1
   make_install_prefix_slash_O: make install prefix=/tmp/krava/
            make_no_auxtrace_O: make NO_AUXTRACE=1
             make_no_libnuma_O: make NO_LIBNUMA=1
            make_install_bin_O: make install-bin
                make_no_newt_O: make NO_NEWT=1
                   make_pure_O: make
                make_minimal_O: make NO_LIBPERL=1 NO_LIBPYTHON=1 NO_NEWT=1 NO_GTK2=1 NO_DEMANGLE=1 NO_LIBELF=1 NO_LIBUNWIND=1 NO_BACKTRACE=1 NO_LIBNUMA=1 NO_LIBAUDIT=1 NO_LIBBIONIC=1 NO_LIBDW_DWARF_UNWIND=1 NO_AUXTRACE=1 NO_LIBBPF=1 NO_LIBCRYPTO=1 NO_SDT=1 NO_JVMTI=1
              make_clean_all_O: make clean all
                make_no_gtk2_O: make NO_GTK2=1
           make_no_libbionic_O: make NO_LIBBIONIC=1
         make_install_prefix_O: make install prefix=/tmp/krava
              make_no_libbpf_O: make NO_LIBBPF=1
            make_no_libaudit_O: make NO_LIBAUDIT=1
        make_with_babeltrace_O: make LIBBABELTRACE=1
           make_no_libpython_O: make NO_LIBPYTHON=1
                   make_help_O: make help
                    make_doc_O: make doc
                  make_debug_O: make DEBUG=1
                make_install_O: make install
  OK
  make: Leaving directory '/home/acme/git/linux/tools/perf'
  $ 
  

             reply	other threads:[~2016-12-01 18:03 UTC|newest]

Thread overview: 58+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-12-01 18:02 Arnaldo Carvalho de Melo [this message]
2016-12-01 18:02 ` [PATCH 01/19] perf ui helpline: Provide a printf variant Arnaldo Carvalho de Melo
2016-12-01 18:02 ` [PATCH 02/19] perf annotate: Show invalid jump offset in error message Arnaldo Carvalho de Melo
2016-12-01 18:02 ` [PATCH 03/19] perf sched timehist: Handle cpu migration events Arnaldo Carvalho de Melo
2016-12-01 18:02 ` [PATCH 04/19] perf trace: Update tid/pid filtering option to leverage symbol_conf Arnaldo Carvalho de Melo
2016-12-01 18:02 ` [PATCH 05/19] tools lib bpf: Add missing BPF functions Arnaldo Carvalho de Melo
2016-12-01 18:02 ` [PATCH 06/19] tools lib bpf: Add private field for bpf_object Arnaldo Carvalho de Melo
2016-12-01 18:02 ` [PATCH 07/19] tools lib bpf: Retrive bpf_map through offset of bpf_map_def Arnaldo Carvalho de Melo
2016-12-01 18:02 ` [PATCH 08/19] perf tools: Introduce perf hooks Arnaldo Carvalho de Melo
2016-12-01 18:02 ` [PATCH 09/19] perf test: Remove "test" and similar strings from test descriptions Arnaldo Carvalho de Melo
2016-12-01 18:02 ` [PATCH 10/19] perf kmem stat: Track memory freed Arnaldo Carvalho de Melo
2016-12-01 18:02 ` [PATCH 11/19] perf script: Add option to stop printing callchain Arnaldo Carvalho de Melo
2016-12-01 18:02 ` [PATCH 12/19] perf tools: Add time-based utility functions Arnaldo Carvalho de Melo
2016-12-01 18:02 ` [PATCH 13/19] perf tools: Move parse_nsec_time to time-utils.c Arnaldo Carvalho de Melo
2016-12-01 18:02 ` [PATCH 14/19] perf script: Add option to specify time window of interest Arnaldo Carvalho de Melo
2016-12-01 18:02 ` [PATCH 15/19] perf sched timehist: " Arnaldo Carvalho de Melo
2016-12-01 18:02 ` [PATCH 16/19] perf kmem: " Arnaldo Carvalho de Melo
2016-12-01 18:02 ` [PATCH 17/19] perf report: " Arnaldo Carvalho de Melo
2016-12-01 18:02 ` [PATCH 18/19] perf annotate: Use arch->objdump.comment_char in dec__parse() Arnaldo Carvalho de Melo
2016-12-01 18:02 ` [PATCH 19/19] perf annotate: AArch64 support Arnaldo Carvalho de Melo
2016-12-02  9:10 ` [GIT PULL 00/19] perf/core improvements and fixes Ingo Molnar
  -- strict thread matches above, loose matches on Subject: below --
2017-11-03 13:54 Arnaldo Carvalho de Melo
2017-08-14 16:27 Arnaldo Carvalho de Melo
2017-08-14 16:27 ` Arnaldo Carvalho de Melo
2017-08-14 17:39 ` Ingo Molnar
2017-08-14 17:39   ` Ingo Molnar
2017-08-14 17:52   ` Arnaldo Carvalho de Melo
2017-08-14 17:52     ` Arnaldo Carvalho de Melo
2017-03-14 18:50 Arnaldo Carvalho de Melo
2017-03-15 18:29 ` Ingo Molnar
2016-09-01 16:45 Arnaldo Carvalho de Melo
2016-09-05 13:16 ` Ingo Molnar
2016-07-14  2:20 Arnaldo Carvalho de Melo
2016-07-14  6:58 ` Ingo Molnar
2016-06-15 18:13 Arnaldo Carvalho de Melo
2016-06-16  6:29 ` Jiri Olsa
2016-06-16 19:54   ` Arnaldo Carvalho de Melo
2016-06-16  8:29 ` Ingo Molnar
2016-04-07 20:58 Arnaldo Carvalho de Melo
2016-04-08 13:15 ` Arnaldo Carvalho de Melo
2016-04-13  6:58   ` Ingo Molnar
2016-03-10 21:04 Arnaldo Carvalho de Melo
2016-03-11  8:43 ` Ingo Molnar
2016-02-26 23:18 Arnaldo Carvalho de Melo
2016-02-27  9:36 ` Ingo Molnar
2016-02-05 16:25 Arnaldo Carvalho de Melo
2016-02-09  9:40 ` Ingo Molnar
2015-04-08 14:23 Arnaldo Carvalho de Melo
2015-04-08 14:23 ` Arnaldo Carvalho de Melo
2015-04-08 15:05 ` Ingo Molnar
2015-04-08 15:05   ` Ingo Molnar
2015-03-21 18:54 Arnaldo Carvalho de Melo
2015-03-22  9:58 ` Ingo Molnar
2015-02-27 19:22 Arnaldo Carvalho de Melo
2014-01-17 14:57 Arnaldo Carvalho de Melo
2014-01-19 12:11 ` Ingo Molnar
2012-05-22 17:39 Arnaldo Carvalho de Melo
2012-05-23 15:06 ` Ingo Molnar

Reply instructions:

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

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

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

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

  git send-email \
    --in-reply-to=20161201180235.18392-1-acme@kernel.org \
    --to=acme@kernel.org \
    --cc=acme@redhat.com \
    --cc=adrian.hunter@intel.com \
    --cc=alexander.shishkin@linux.intel.com \
    --cc=ast@fb.com \
    --cc=chris.ryder@arm.com \
    --cc=dsa@cumulusnetworks.com \
    --cc=hekuang@huawei.com \
    --cc=joe@ovn.org \
    --cc=jolsa@kernel.org \
    --cc=kim.phillips@arm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lizefan@huawei.com \
    --cc=mark.rutland@arm.com \
    --cc=mingo@kernel.org \
    --cc=namhyung@kernel.org \
    --cc=pawel.moll@arm.com \
    --cc=peterz@infradead.org \
    --cc=pi3orama@163.com \
    --cc=wangnan0@huawei.com \
    --cc=will.deacon@arm.com \
    /path/to/YOUR_REPLY

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

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