lkml.org 
[lkml]   [2019]   [Sep]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [GIT PULL] perf/core improvements and fixes

    * Arnaldo Carvalho de Melo <acme@kernel.org> wrote:

    > Hi Ingo/Thomas,
    >
    > Please consider pulling,
    >
    > Best regards,
    >
    > - Arnaldo
    >
    > Test results at the end of this message, as usual.
    >
    > The following changes since commit 2b32769700f857a8e608a8ee24080833889965b9:
    >
    > Merge tag 'perf-urgent-for-mingo-5.4-20190921' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/urgent (2019-09-22 12:45:11 +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-5.5-20190925
    >
    > for you to fetch changes up to d6840d87b2d148e19e244ad2b44d28ba07f437a0:
    >
    > perf parser: Remove needless include directives (2019-09-25 16:26:41 -0300)
    >
    > ----------------------------------------------------------------
    > perf/core improvements and fixes:
    >
    > perf record:
    >
    > Stephane Eranian:
    >
    > - Fix priv level with branch sampling for paranoid=2, i.e. the kernel checks
    > if perf_event_attr_attr.exclude_hv is set in addition to .exclude_kernel,
    > so reset both to zero.
    >
    > Arnaldo Carvalho de Melo:
    >
    > - Don't warn about not being able to read kernel maps (kallsyms, etc) when
    > kernel samples aren't being collected.
    >
    > perf list:
    >
    > Kim Phillips:
    >
    > - Allow plurals for metric, metricgroup., i.e.:
    >
    > $ perf list metrics
    >
    > was showing nothing, which is very confusing, make it work like:
    >
    > $ perf stat metric
    >
    > perf stat:
    >
    > Andi Kleen:
    >
    > - Free memory access/leaks detected via valgrind, related to metrics.
    >
    > Libraries:
    >
    > libperf:
    >
    > Jiri Olsa:
    >
    > - Move more stuff from tools/perf, this time a first stab at moving perf_mmap
    > methods.
    >
    > libtracevent:
    >
    > Steven Rostedt (VMware):
    >
    > - Round up in tep_print_event() time precision.
    >
    > Tzvetomir Stoyanov (VMware):
    >
    > - Man pages for event print and related and plugins APIs.
    >
    > - Move traceevent plugins in its own subdirectory.
    >
    > Feature detection:
    >
    > Thomas Richter:
    >
    > - Add detection of java-11-openjdk-devel package, in addition to the older
    > versions supported.
    >
    > Architecture specific:
    >
    > S/390:
    >
    > Thomas Richter (2):
    >
    > - Include JVMTI support for s390
    >
    > Vendor events:
    >
    > AMD:
    >
    > Kim Phillips:
    >
    > - Add L3 cache events for Family 17h.
    >
    > - Remove redundant '['.
    >
    > PowerPC:
    >
    > Mamatha Inamdar:
    >
    > - Remove P8 HW events which are not supported.
    >
    > Cleanups:
    >
    > Arnaldo Carvalho de Melo:
    >
    > - Remove needless headers, add needed ones, move things around to reduce the
    > headers dependency tree, speeding up builds by not doing needless compiles
    > when unrelated stuff gets changed.
    >
    > - Ditch unused code that was dragging headers.
    >
    > Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    >
    > ----------------------------------------------------------------
    > Andi Kleen (2):
    > perf stat: Fix free memory access / memory leaks in metrics
    > perf evlist: Fix access of freed id arrays
    >
    > Arnaldo Carvalho de Melo (12):
    > perf record: Move restricted maps check to after a possible fallback to not collect kernel samples
    > perf evlist: Adopt backwards ring buffer state enum
    > libperf: Add missing 'struct xyarray' forward declaration
    > perf tools: No need to include internal/lib.h from util/util.h
    > libperf: Use sys/types.h to get ssize_t, not unistd.h
    > perf copyfile: Move copyfile routines to separate files
    > perf evsel: Remove need for symbol_conf in evsel_fprintf.c
    > perf evsel: Introduce evsel_fprintf.h
    > perf evlist: Remove unused perf_evlist__fprintf() method
    > perf evsel: Move config terms to a separate header
    > perf tools: Replace needless mmap.h with what is needed, event.h
    > perf parser: Remove needless include directives
    >
    > Jiri Olsa (37):
    > tools: Add missing stdio.h include to asm/bug.h header
    > perf tools: Rename 'struct perf_mmap' to 'struct mmap'
    > perf tools: Rename perf_evlist__mmap() to evlist__mmap()
    > perf tools: Rename perf_evlist__munmap() to evlist__munmap()
    > perf tools: Rename perf_evlist__alloc_mmap() to evlist__alloc_mmap()
    > perf tools: Rename perf_evlist__exit() to evlist__exit()
    > perf tools: Rename perf_evlist__purge() to evlist__purge()
    > libperf: Link libapi.a in libperf.so
    > libperf: Add perf_mmap struct
    > libperf: Add 'mask' to struct perf_mmap
    > libperf: Add 'fd' to struct perf_mmap
    > libperf: Add 'cpu' to struct perf_mmap
    > libperf: Add 'refcnt' to struct perf_mmap
    > libperf: Add prev/start/end to struct perf_mmap
    > libperf: Add 'overwrite' to 'struct perf_mmap'
    > libperf: Add 'event_copy' to 'struct perf_mmap'
    > libperf: Add 'flush' to 'struct perf_mmap'
    > libperf: Move 'system_wide' from 'struct evsel' to 'struct perf_evsel'
    > libperf: Move 'nr_mmaps' from 'struct evlist' to 'struct perf_evlist'
    > libperf: Move 'mmap_len' from 'struct evlist' to 'struct perf_evlist'
    > libperf: Move 'pollfd' from 'struct evlist' to 'struct perf_evlist'
    > libperf: Move 'sample_id' from 'struct evsel' to 'struct perf_evsel'
    > libperf: Move 'id' from 'struct evsel' to 'struct perf_evsel'
    > libperf: Move 'ids' from 'struct evsel' to 'struct perf_evsel'
    > libperf: Move 'heads' from 'struct evlist' to 'struct perf_evlist'
    > libperf: Add perf_evsel__alloc_id/perf_evsel__free_id functions
    > libperf: Add perf_evlist__first()/last() functions
    > libperf: Add perf_evlist__read_format() function
    > libperf: Add perf_evlist__id_add() function
    > libperf: Add perf_evlist__id_add_fd() function
    > libperf: Move 'page_size' global variable to libperf
    > libperf: Add libperf dependency for tests targets
    > libperf: Merge libperf_set_print() into libperf_init()
    > libperf: Add libperf_init() call to the tests
    > libperf: Add perf_evlist__alloc_pollfd() function
    > libperf: Add perf_evlist__add_pollfd() function
    > libperf: Add perf_evlist__poll() function
    >
    > Kim Phillips (4):
    > perf vendor events amd: Add L3 cache events for Family 17h
    > perf vendor events amd: Remove redundant '['
    > perf vendor events: Minor fixes to the README
    > perf list: Allow plurals for metric, metricgroup
    >
    > Mamatha Inamdar (1):
    > perf vendor events: Remove P8 HW events which are not supported
    >
    > Stephane Eranian (1):
    > perf record: Fix priv level with branch sampling for paranoid=2
    >
    > Steven Rostedt (VMware) (1):
    > libtraceevent: Round up in tep_print_event() time precision
    >
    > Thomas Richter (2):
    > perf jvmti: Include JVMTI support for s390
    > perf build: Add detection of java-11-openjdk-devel package
    >
    > Tzvetomir Stoyanov (2):
    > libtraceevent: Man pages for libtraceevent event print related API
    > libtraceevent: Man pages for tep plugins APIs
    >
    > Tzvetomir Stoyanov (VMware) (4):
    > libtraceevent: Man pages fix, rename tep_ref_get() to tep_get_ref()
    > libtraceevent: Man pages fix, changes in event printing APIs
    > libtraceevent: Add tep_get_event() in event-parse.h
    > libtraceevent: Move traceevent plugins in its own subdirectory
    >
    > tools/include/asm/bug.h | 1 +
    > tools/lib/traceevent/Build | 11 -
    > .../Documentation/libtraceevent-event_print.txt | 130 +++++++++
    > .../Documentation/libtraceevent-handle.txt | 8 +-
    > .../Documentation/libtraceevent-plugins.txt | 99 +++++++
    > .../lib/traceevent/Documentation/libtraceevent.txt | 15 +-
    > tools/lib/traceevent/Makefile | 94 ++-----
    > tools/lib/traceevent/event-parse.c | 4 +-
    > tools/lib/traceevent/event-parse.h | 2 +
    > tools/lib/traceevent/plugins/Build | 10 +
    > tools/lib/traceevent/plugins/Makefile | 222 ++++++++++++++++
    > .../lib/traceevent/{ => plugins}/plugin_cfg80211.c | 0
    > .../lib/traceevent/{ => plugins}/plugin_function.c | 0
    > .../lib/traceevent/{ => plugins}/plugin_hrtimer.c | 0
    > tools/lib/traceevent/{ => plugins}/plugin_jbd2.c | 0
    > tools/lib/traceevent/{ => plugins}/plugin_kmem.c | 0
    > tools/lib/traceevent/{ => plugins}/plugin_kvm.c | 0
    > .../lib/traceevent/{ => plugins}/plugin_mac80211.c | 0
    > .../traceevent/{ => plugins}/plugin_sched_switch.c | 0
    > tools/lib/traceevent/{ => plugins}/plugin_scsi.c | 0
    > tools/lib/traceevent/{ => plugins}/plugin_xen.c | 0
    > tools/perf/Makefile.config | 2 +-
    > tools/perf/Makefile.perf | 4 +-
    > tools/perf/arch/arm/util/cs-etm.c | 7 +-
    > tools/perf/arch/arm64/util/arm-spe.c | 6 +-
    > tools/perf/arch/s390/Makefile | 1 +
    > tools/perf/arch/s390/util/auxtrace.c | 1 +
    > tools/perf/arch/s390/util/machine.c | 2 +-
    > tools/perf/arch/x86/tests/intel-cqm.c | 5 +-
    > tools/perf/arch/x86/tests/perf-time-to-tsc.c | 11 +-
    > tools/perf/arch/x86/tests/rdpmc.c | 2 +-
    > tools/perf/arch/x86/util/intel-bts.c | 9 +-
    > tools/perf/arch/x86/util/intel-pt.c | 17 +-
    > tools/perf/arch/x86/util/machine.c | 2 +-
    > tools/perf/builtin-evlist.c | 1 +
    > tools/perf/builtin-kvm.c | 13 +-
    > tools/perf/builtin-list.c | 4 +-
    > tools/perf/builtin-record.c | 102 +++----
    > tools/perf/builtin-sched.c | 3 +-
    > tools/perf/builtin-script.c | 11 +-
    > tools/perf/builtin-stat.c | 6 +-
    > tools/perf/builtin-top.c | 22 +-
    > tools/perf/builtin-trace.c | 17 +-
    > tools/perf/lib/Makefile | 35 ++-
    > tools/perf/lib/core.c | 13 +-
    > tools/perf/lib/evlist.c | 124 +++++++++
    > tools/perf/lib/evsel.c | 30 +++
    > tools/perf/lib/include/internal/evlist.h | 33 +++
    > tools/perf/lib/include/internal/evsel.h | 33 +++
    > tools/perf/lib/include/internal/lib.h | 4 +-
    > tools/perf/lib/include/internal/mmap.h | 32 +++
    > tools/perf/lib/include/perf/core.h | 2 +-
    > tools/perf/lib/include/perf/evlist.h | 1 +
    > tools/perf/lib/lib.c | 2 +
    > tools/perf/lib/libperf.map | 3 +-
    > tools/perf/lib/tests/test-cpumap.c | 10 +
    > tools/perf/lib/tests/test-evlist.c | 10 +
    > tools/perf/lib/tests/test-evsel.c | 10 +
    > tools/perf/lib/tests/test-threadmap.c | 10 +
    > tools/perf/perf.c | 13 +-
    > tools/perf/pmu-events/README | 22 +-
    > .../perf/pmu-events/arch/powerpc/power8/other.json | 24 --
    > .../perf/pmu-events/arch/x86/amdfam17h/cache.json | 42 +++
    > tools/perf/pmu-events/arch/x86/amdfam17h/core.json | 2 +-
    > tools/perf/pmu-events/jevents.c | 1 +
    > tools/perf/tests/backward-ring-buffer.c | 11 +-
    > tools/perf/tests/bpf.c | 9 +-
    > tools/perf/tests/code-reading.c | 11 +-
    > tools/perf/tests/event-times.c | 14 +-
    > tools/perf/tests/event_update.c | 6 +-
    > tools/perf/tests/evsel-roundtrip-name.c | 2 +-
    > tools/perf/tests/hists_cumulate.c | 2 +-
    > tools/perf/tests/hists_link.c | 5 +-
    > tools/perf/tests/hists_output.c | 2 +-
    > tools/perf/tests/keep-tracking.c | 11 +-
    > tools/perf/tests/mmap-basic.c | 5 +-
    > tools/perf/tests/mmap-thread-lookup.c | 2 +-
    > tools/perf/tests/openat-syscall-tp-fields.c | 11 +-
    > tools/perf/tests/parse-events.c | 116 ++++----
    > tools/perf/tests/perf-record.c | 13 +-
    > tools/perf/tests/sdt.c | 1 +
    > tools/perf/tests/sw-clock.c | 5 +-
    > tools/perf/tests/switch-tracking.c | 29 +-
    > tools/perf/tests/task-exit.c | 9 +-
    > tools/perf/tests/vmlinux-kallsyms.c | 2 +-
    > tools/perf/ui/browsers/hists.c | 6 +-
    > tools/perf/ui/gtk/hists.c | 1 +
    > tools/perf/util/Build | 2 +
    > tools/perf/util/annotate.c | 1 +
    > tools/perf/util/auxtrace.c | 8 +-
    > tools/perf/util/auxtrace.h | 8 +-
    > tools/perf/util/bpf-loader.c | 2 +-
    > tools/perf/util/build-id.c | 3 +-
    > tools/perf/util/copyfile.c | 144 ++++++++++
    > tools/perf/util/copyfile.h | 16 ++
    > tools/perf/util/cs-etm.c | 2 +-
    > tools/perf/util/evlist.c | 295 ++++++---------------
    > tools/perf/util/evlist.h | 81 +++---
    > tools/perf/util/evsel.c | 204 ++------------
    > tools/perf/util/evsel.h | 121 +--------
    > tools/perf/util/evsel_config.h | 50 ++++
    > tools/perf/util/evsel_fprintf.c | 15 +-
    > tools/perf/util/evsel_fprintf.h | 50 ++++
    > tools/perf/util/genelf.h | 3 +
    > tools/perf/util/header.c | 29 +-
    > tools/perf/util/intel-bts.c | 4 +-
    > tools/perf/util/intel-pt.c | 10 +-
    > tools/perf/util/jitdump.c | 2 +-
    > tools/perf/util/machine.c | 1 +
    > tools/perf/util/mmap.c | 185 ++++++-------
    > tools/perf/util/mmap.h | 77 ++----
    > tools/perf/util/parse-events.c | 8 +-
    > tools/perf/util/parse-events.y | 4 +-
    > tools/perf/util/perf_event_attr_fprintf.c | 148 +++++++++++
    > tools/perf/util/python-ext-sources | 1 +
    > tools/perf/util/python.c | 24 +-
    > tools/perf/util/record.c | 6 +-
    > tools/perf/util/session.c | 5 +-
    > tools/perf/util/sort.c | 2 +-
    > tools/perf/util/srccode.c | 2 +-
    > tools/perf/util/stat-shadow.c | 4 +-
    > tools/perf/util/stat.c | 2 +-
    > tools/perf/util/symbol-elf.c | 2 +-
    > tools/perf/util/synthetic-events.c | 20 +-
    > tools/perf/util/top.c | 2 +-
    > tools/perf/util/trace-event-info.c | 2 +-
    > tools/perf/util/util.c | 136 ----------
    > tools/perf/util/util.h | 8 -
    > 128 files changed, 1941 insertions(+), 1321 deletions(-)
    > create mode 100644 tools/lib/traceevent/Documentation/libtraceevent-event_print.txt
    > create mode 100644 tools/lib/traceevent/Documentation/libtraceevent-plugins.txt
    > create mode 100644 tools/lib/traceevent/plugins/Build
    > create mode 100644 tools/lib/traceevent/plugins/Makefile
    > rename tools/lib/traceevent/{ => plugins}/plugin_cfg80211.c (100%)
    > rename tools/lib/traceevent/{ => plugins}/plugin_function.c (100%)
    > rename tools/lib/traceevent/{ => plugins}/plugin_hrtimer.c (100%)
    > rename tools/lib/traceevent/{ => plugins}/plugin_jbd2.c (100%)
    > rename tools/lib/traceevent/{ => plugins}/plugin_kmem.c (100%)
    > rename tools/lib/traceevent/{ => plugins}/plugin_kvm.c (100%)
    > rename tools/lib/traceevent/{ => plugins}/plugin_mac80211.c (100%)
    > rename tools/lib/traceevent/{ => plugins}/plugin_sched_switch.c (100%)
    > rename tools/lib/traceevent/{ => plugins}/plugin_scsi.c (100%)
    > rename tools/lib/traceevent/{ => plugins}/plugin_xen.c (100%)
    > create mode 100644 tools/perf/lib/include/internal/mmap.h
    > create mode 100644 tools/perf/util/copyfile.c
    > create mode 100644 tools/perf/util/copyfile.h
    > create mode 100644 tools/perf/util/evsel_config.h
    > create mode 100644 tools/perf/util/evsel_fprintf.h
    > create mode 100644 tools/perf/util/perf_event_attr_fprintf.c

    Pulled, thanks a lot Arnaldo!

    Ingo

    \
     
     \ /
      Last update: 2019-09-26 07:55    [W:4.146 / U:0.096 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site