Messages in this thread | | | Date | Sat, 9 May 2015 08:22:59 +0200 | From | Ingo Molnar <> | Subject | Re: [GIT PULL 00/30] perf/core improvements and fixes |
| |
* Arnaldo Carvalho de Melo <acme@kernel.org> 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@redhat.com> > > ---------------------------------------------------------------- > 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
| |