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

From: Arnaldo Carvalho de Melo
Date: Fri May 08 2015 - 17:01:23 EST


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
--
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/