Re: [GIT PULL 00/30] perf/core improvements and fixes
From: Ingo Molnar
Date: Sat May 09 2015 - 02:23:25 EST
* Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> wrote:
> Hi Ingo,
>
> Please consider pulling,
>
> - Arnaldo
>
>
>
> The following changes since commit cb307113746b4d184155d2c412e8069aeaa60d42:
>
> perf_event: Don't allow vmalloc() backed perf on powerpc (2015-05-08 12:26:01 +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 76d408498b08447e0f61dfdd611aeb6e8e61ce80:
>
> perf build: Disable libdw DWARF unwind when built with NO_DWARF (2015-05-08 16:43:14 -0300)
>
> ----------------------------------------------------------------
> perf/core improvements and fixes:
>
> User visible:
>
> - 'perf probe' improvements (Masami Hiramatsu)
>
> - Support glob wildcards for function name
> - Support $params special probe argument: Collect all function arguments
> - Make --line checks validate C-style function name.
> - Add --no-inlines option to avoid searching inline functions
>
> - Introduce new 'perf bench futex' benchmark: 'wake-parallel', to
> measure parallel waker threads generating contention for kerne
> locks (hb->lock) (Davidlohr Bueso)
>
> Bug fixes:
>
> - 'perf top' survives much longer on high core count machines, more work
> needed to refcount more data structures besides 'struct thread' and fix
> more races (Arnaldo Carvalho de Melo)
>
> Infrastructure:
>
> - Move barrier.h mb/rmb/wmb API from tools/perf/ to kernel like tools/arch/
> hierarchy (Arnaldo Carvalho de Melo)
>
> - Borrow atomic.h from the kernel, initially the x86 implementations
> with a fallback to gcc intrinsics for the other arches, all the kernel
> like framework in place for doing arch specific implementations,
> preferrably cloning what is in the kernel to the greater extent
> possible (Arnaldo Carvalho de Melo)
>
> - Protect the 'struct thread' lifetime with a reference counter,
> and protect data structures that contains its instances with
> a mutex (Arnaldo Carvalho de Melo
>
> - Disable libdw DWARF unwind when built with NO_DWARF (Naveen N. Rao)
>
> Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
>
> ----------------------------------------------------------------
> Arnaldo Carvalho de Melo (17):
> perf tools: Move x86 barrier.h stuff to tools/arch/x86/include/asm/barrier.h
> perf tools: Move powerpc barrier.h stuff to tools/arch/powerpc/include/asm/barrier.h
> perf tools: Move s390 barrier.h stuff to tools/arch/s390/include/asm/barrier.h
> perf tools: Move barrier() definition to tools/include/linux/compiler.h
> tools: Adopt asm-generic/barrier.h
> perf tools: Move sh barrier.h stuff to tools/arch/sh/include/asm/barrier.h
> perf tools: Move sparc barrier.h stuff to tools/arch/sparc/include/asm/barrier.h
> perf tools: Move alpha barrier.h stuff to tools/arch/alpha/include/asm/barrier.h
> perf tools: Move ia64 barrier.h stuff to tools/arch/ia64/include/asm/barrier.h
> perf tools: Move arm(64) barrier.h stuff to tools/arch/arm*/include/asm/barrier.h
> perf tools: Move xtensa barrier.h stuff to tools/arch/xtensa/include/asm/barrier.h
> perf tools: Move mips barrier.h stuff to tools/arch/mips/include/asm/barrier.h
> perf tools: Move tile barrier.h stuff to tools/arch/tile/include/asm/barrier.h
> perf tools: Move generic barriers out of perf-sys.h
> tools include: Add basic atomic.h implementation from the kernel sources
> perf tools: Use atomic_t to implement thread__{get,put} refcnt
> perf machine: Protect the machine->threads with a rwlock
>
> Davidlohr Bueso (2):
> perf bench futex: Support parallel waker threads
> perf bench futex: Handle spurious wakeups
>
> Masami Hiramatsu (10):
> perf probe: Fix to close probe_events file in error
> perf probe: Fix a typo for the flags of open
> perf probe: Fix to return 0 when positive value returned
> perf probe: Make --line checks validate C-style function name
> perf probe: Skip kernel symbols which is out of .text
> perf probe: Support $params special probe argument
> perf probe: Use perf_probe_event.target instead of passing as an argument
> perf probe: Introduce probe_conf global configs
> perf probe: Add --no-inlines option to avoid searching inline functions
> perf probe: Support glob wildcards for function name
>
> Naveen N. Rao (1):
> perf build: Disable libdw DWARF unwind when built with NO_DWARF
>
> tools/arch/alpha/include/asm/barrier.h | 8 +
> tools/arch/arm/include/asm/barrier.h | 12 ++
> tools/arch/arm64/include/asm/barrier.h | 16 ++
> tools/arch/ia64/include/asm/barrier.h | 48 +++++
> tools/arch/mips/include/asm/barrier.h | 20 ++
> tools/arch/powerpc/include/asm/barrier.h | 29 +++
> tools/arch/s390/include/asm/barrier.h | 30 +++
> tools/arch/sh/include/asm/barrier.h | 32 ++++
> tools/arch/sparc/include/asm/barrier.h | 8 +
> tools/arch/sparc/include/asm/barrier_32.h | 6 +
> tools/arch/sparc/include/asm/barrier_64.h | 42 +++++
> tools/arch/tile/include/asm/barrier.h | 15 ++
> tools/arch/x86/include/asm/atomic.h | 65 +++++++
> tools/arch/x86/include/asm/barrier.h | 28 +++
> tools/arch/x86/include/asm/rmwcc.h | 41 +++++
> tools/arch/xtensa/include/asm/barrier.h | 18 ++
> tools/include/asm-generic/atomic-gcc.h | 63 +++++++
> tools/include/asm-generic/barrier.h | 44 +++++
> tools/include/asm/atomic.h | 10 +
> tools/include/asm/barrier.h | 27 +++
> tools/include/linux/atomic.h | 6 +
> tools/include/linux/compiler.h | 4 +
> tools/include/linux/types.h | 4 +
> tools/perf/Documentation/perf-bench.txt | 3 +
> tools/perf/Documentation/perf-probe.txt | 6 +-
> tools/perf/MANIFEST | 19 ++
> tools/perf/bench/Build | 1 +
> tools/perf/bench/bench.h | 2 +
> tools/perf/bench/futex-wake-parallel.c | 294 ++++++++++++++++++++++++++++++
> tools/perf/bench/futex-wake.c | 7 +-
> tools/perf/builtin-annotate.c | 10 +-
> tools/perf/builtin-bench.c | 1 +
> tools/perf/builtin-diff.c | 9 +-
> tools/perf/builtin-inject.c | 1 +
> tools/perf/builtin-kmem.c | 7 +-
> tools/perf/builtin-kvm.c | 6 +-
> tools/perf/builtin-lock.c | 8 +-
> tools/perf/builtin-mem.c | 5 +-
> tools/perf/builtin-probe.c | 26 +--
> tools/perf/builtin-report.c | 9 +-
> tools/perf/builtin-sched.c | 82 ++++++---
> tools/perf/builtin-script.c | 20 +-
> tools/perf/builtin-timechart.c | 5 +-
> tools/perf/builtin-top.c | 2 +-
> tools/perf/builtin-trace.c | 36 ++--
> tools/perf/config/Makefile | 4 +
> tools/perf/perf-sys.h | 73 +-------
> tools/perf/tests/code-reading.c | 22 ++-
> tools/perf/tests/dwarf-unwind.c | 1 +
> tools/perf/tests/hists_common.c | 1 +
> tools/perf/tests/hists_cumulate.c | 4 +-
> tools/perf/tests/hists_filter.c | 4 +-
> tools/perf/tests/hists_link.c | 8 +-
> tools/perf/tests/hists_output.c | 4 +-
> tools/perf/tests/mmap-thread-lookup.c | 2 +
> tools/perf/tests/thread-mg-share.c | 12 +-
> tools/perf/util/build-id.c | 5 +-
> tools/perf/util/db-export.c | 14 +-
> tools/perf/util/dwarf-aux.c | 16 ++
> tools/perf/util/dwarf-aux.h | 3 +
> tools/perf/util/event.c | 15 ++
> tools/perf/util/event.h | 2 +
> tools/perf/util/machine.c | 89 +++++++--
> tools/perf/util/machine.h | 5 +-
> tools/perf/util/probe-event.c | 177 ++++++++++--------
> tools/perf/util/probe-event.h | 15 +-
> tools/perf/util/probe-finder.c | 73 +++++---
> tools/perf/util/probe-finder.h | 10 +-
> tools/perf/util/thread.c | 14 +-
> tools/perf/util/thread.h | 3 +-
> tools/perf/util/util.h | 4 +
> 71 files changed, 1392 insertions(+), 323 deletions(-)
> create mode 100644 tools/arch/alpha/include/asm/barrier.h
> create mode 100644 tools/arch/arm/include/asm/barrier.h
> create mode 100644 tools/arch/arm64/include/asm/barrier.h
> create mode 100644 tools/arch/ia64/include/asm/barrier.h
> create mode 100644 tools/arch/mips/include/asm/barrier.h
> create mode 100644 tools/arch/powerpc/include/asm/barrier.h
> create mode 100644 tools/arch/s390/include/asm/barrier.h
> create mode 100644 tools/arch/sh/include/asm/barrier.h
> create mode 100644 tools/arch/sparc/include/asm/barrier.h
> create mode 100644 tools/arch/sparc/include/asm/barrier_32.h
> create mode 100644 tools/arch/sparc/include/asm/barrier_64.h
> create mode 100644 tools/arch/tile/include/asm/barrier.h
> create mode 100644 tools/arch/x86/include/asm/atomic.h
> create mode 100644 tools/arch/x86/include/asm/barrier.h
> create mode 100644 tools/arch/x86/include/asm/rmwcc.h
> create mode 100644 tools/arch/xtensa/include/asm/barrier.h
> create mode 100644 tools/include/asm-generic/atomic-gcc.h
> create mode 100644 tools/include/asm-generic/barrier.h
> create mode 100644 tools/include/asm/atomic.h
> create mode 100644 tools/include/asm/barrier.h
> create mode 100644 tools/include/linux/atomic.h
> create mode 100644 tools/perf/bench/futex-wake-parallel.c
Pulled, thanks a lot Arnaldo!
Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/