Re: [GIT PULL 00/24] perf/core improvements and fixes
From: Ingo Molnar
Date: Wed Jun 08 2016 - 03:43:16 EST
* Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> wrote:
> Hi Ingo,
>
> Please consider pulling, this is on top of perf-core-for-mingo-20160606,
>
> Thanks,
>
> - Arnaldo
>
> The following changes since commit 7db91f251056f90fec4121f028680ab3153a0f3c:
>
> perf config: Handle the error when config set is NULL at collect_config() (2016-06-06 17:43:19 -0300)
>
> are available in the git repository at:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git tags/perf-core-for-mingo-20160607
>
> for you to fetch changes up to 057fbfb25cde4a368418f3f720cdc31d48800c4d:
>
> perf callchain: Support aarch64 cross-platform (2016-06-07 15:13:35 -0300)
>
> ----------------------------------------------------------------
> perf/core improvements and fixes:
>
> User visible:
>
> - Support cross unwinding, i.e. collecting '--call-graph dwarf' perf.data files
> in one machine and then doing analysis in another machine of a different
> hardware architecture. This enables, for instance, to do:
>
> perf record -a --call-graph dwarf
>
> on a x86-32 or aarch64 system and then do 'perf report' on it on a
> x86_64 workstation. (He Kuang)
>
> - Fix crash in build_id_cache__kallsyms_path(), recent regression (Wang Nan)
>
> Infrastructure:
>
> - Make tools/lib/bpf use the IS_ERR return facility consistently and also stop
> using the _get_ term for non-reference count methods (Arnaldo Carvalho de Melo)
>
> - 'perf config' refactorings (Taeung Song)
>
> Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
>
> ----------------------------------------------------------------
> Arnaldo Carvalho de Melo (7):
> tools lib bpf: Use IS_ERR() reporting macros with bpf_map__get_private()
> tools lib bpf: Rename bpf_map__get_name() to bpf_map__name()
> tools lib bpf: Use IS_ERR() reporting macros with bpf_map__get_def()
> tools lib bpf: Rename bpf_map__get_fd() to bpf_map__fd()
> tools lib bpf: Remove _get_ from non-refcount method names
> tools lib bpf: Make bpf_program__get_private() use IS_ERR()
> tools lib bpf: Rename set_private() to set_priv()
>
> He Kuang (14):
> perf unwind: Use LIBUNWIND_DIR for remote libunwind feature check
> perf unwind: Decouple thread->address_space on libunwind
> perf unwind: Introduce 'struct unwind_libunwind_ops' for local unwind
> perf unwind: Move unwind__prepare_access from thread_new into thread__insert_map
> perf unwind: Don't mix LIBUNWIND_LIBS into LIBUNWIND_LDFLAGS
> perf unwind: Separate local/remote libunwind config
> perf unwind: Rename unwind-libunwind.c to unwind-libunwind-local.c
> perf tools: Extract common API out of unwind-libunwind-local.c
> perf tools: Export normalize_arch() function
> perf unwind: Check the target platform before assigning unwind methods
> perf unwind: Change fixed name of libunwind__arch_reg_id to macro
> perf unwind: Introduce flag to separate local/remote unwind compilation
> perf callchain: Support x86 target platform
> perf callchain: Support aarch64 cross-platform
>
> Taeung Song (2):
> perf config: Constructor should free its allocated memory when failing
> perf config: Use new perf_config_set__init() to initialize config set
>
> Wang Nan (1):
> perf tools: Fix crash in build_id_cache__kallsyms_path()
>
> tools/lib/bpf/libbpf.c | 60 +--
> tools/lib/bpf/libbpf.h | 25 +-
> tools/perf/arch/arm/util/Build | 2 +-
> tools/perf/arch/arm64/util/Build | 2 +-
> tools/perf/arch/arm64/util/unwind-libunwind.c | 4 +-
> tools/perf/arch/common.c | 2 +-
> tools/perf/arch/common.h | 1 +
> tools/perf/arch/x86/util/Build | 2 +-
> tools/perf/arch/x86/util/unwind-libunwind.c | 6 +-
> tools/perf/config/Makefile | 52 +-
> tools/perf/util/Build | 3 +
> tools/perf/util/bpf-loader.c | 132 +++--
> tools/perf/util/build-id.c | 11 +-
> tools/perf/util/config.c | 51 +-
> tools/perf/util/libunwind/arm64.c | 35 ++
> tools/perf/util/libunwind/x86_32.c | 37 ++
> tools/perf/util/machine.c | 14 +-
> tools/perf/util/thread.c | 13 +-
> tools/perf/util/thread.h | 9 +-
> tools/perf/util/unwind-libunwind-local.c | 697 ++++++++++++++++++++++++++
> tools/perf/util/unwind-libunwind.c | 688 ++-----------------------
> tools/perf/util/unwind.h | 22 +-
> 22 files changed, 1056 insertions(+), 812 deletions(-)
> create mode 100644 tools/perf/util/libunwind/arm64.c
> create mode 100644 tools/perf/util/libunwind/x86_32.c
> create mode 100644 tools/perf/util/unwind-libunwind-local.c
Pulled, thanks a lot Arnaldo!
Ingo