Re: [GIT PULL 00/22] perf/core improvements and fixes

From: Ingo Molnar
Date: Sat Feb 20 2016 - 05:57:12 EST



* Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> wrote:

> Hi Ingo,
>
> Please consider pulling,
>
> - Arnaldo
>
> The following changes since commit 3b364d7b587db0f0eeafde0f271e0698187de776:
>
> perf/core: Remove unused arguments from a bunch of functions (2016-02-17 10:37:48 +0100)
>
> 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 5b2ea6f2f6ac81a230e6cc68e1473e796a583f00:
>
> perf report: Check error during report__collapse_hists() (2016-02-19 19:17:50 -0300)
>
> ----------------------------------------------------------------
> perf/core improvements and fixes:
>
> User visible:
>
> - Add 'perf record' --all-user/--all-kernel options, so that one can tell
> that all the events in the command line should be restricted to the user
> or kernel levels (Jiri Olsa), i.e.:
>
> perf record -e cycles:u,instructions:u
>
> is equivalent to:
>
> perf record --all-user -e cycles,instructions
>
> - Fix percentage update on key press, due to the buffering code
> (that creates hist_entries that will later be consumed) touching
> per hists state that is used by the display thread (Namhyung Kim)
>
> - Bail out when event modifiers not supported by 'perf stat' are
> specified, i.e.: (Wang Nan)
>
> # perf stat -e cycles/no-inherit/ usleep 1
> event syntax error: 'cycles/no-inherit/'
> \___ 'no-inherit' is not usable in 'perf stat'
> # perf stat -e cycles/foo/ usleep 1
> event syntax error: 'cycles/foo/'
> \___ unknown term
>
> valid terms: config,config1,config2,name
> #
>
> - Enable setting names for legacy cache, raw and numeric events, e.g: (Wang Nan)
>
> # perf record -e cycles -e 4:0x6530160/name=evtx,call-graph=fp/ -a sleep 1
> [ perf record: Woken up 1 times to write data ]
> [ perf record: Captured and wrote 1.659 MB perf.data (844 samples) ]
> # perf evlist
> cycles
> evtx
> #
>
> Miscelaneous/Infrastructure:
>
> - Handled scaled == -1 case for counters in 'perf stat', fixing
> recent, only in perf/core, regression (Andi Kleen)
>
> - Reference count the cpu and thread maps at set_maps(), fixing the
> 'object code reading' 'perf test' entry when it was requesting a
> perf_event_attr.sample_freq > /proc/sys/kernel/perf_event_max_sample_rate
> (Arnaldo Carvalho de Melo)
>
> - Improve perf_evlist__strerror_open() to provide hints for -EINVAL due
> to perf_event_attr.sample_freq > /proc/sys/kernel/perf_event_max_sample_rate
> (Arnaldo Carvalho de Melo)
>
> - Add checks to various callchain and histogram routines (Namhyung Kim)
>
> - Fix checking asprintf return value when parsing additional event config terms (Wang Nan)
>
> Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
>
> ----------------------------------------------------------------
> Andi Kleen (1):
> perf stat: Handled scaled == -1 case for counters
>
> Arnaldo Carvalho de Melo (5):
> perf evlist: Reference count the cpu and thread maps at set_maps()
> perf evlist: Handle -EINVAL for sample_freq > max_sample_rate in strerror_open()
> perf tests: Use perf_evlist__strerror_open() to provide hints about max_freq
> perf test: Reduce the sample_freq for the 'object code reading' test
> perf tools: Introduce opt_event_config nonterminal
>
> Jiri Olsa (1):
> perf record: Add --all-user/--all-kernel options
>
> Namhyung Kim (8):
> perf hists browser: Fix percentage update on key press
> perf callchain: Check return value of add_child()
> perf callchain: Check return value of fill_node()
> perf callchain: Add enum match_result for match_chain()
> perf callchain: Check return value of split_add_child()
> perf callchain: Check return value of append_chain_children()
> perf hists: Return error from hists__collapse_resort()
> perf report: Check error during report__collapse_hists()
>
> Wang Nan (7):
> perf bpf: Rename bpf_prog_priv__clear() to clear_prog_priv()
> perf tools: Fix checking asprintf return value
> perf tools: Create config_term_names array
> perf stat: Bail out on unsupported event config modifiers
> perf tools: Rename and move pmu_event_name to get_config_name
> perf tools: Enable config raw and numeric events
> perf tools: Enable config and setting names for legacy cache events
>
> tools/perf/Documentation/perf-record.txt | 6 ++
> tools/perf/builtin-record.c | 6 ++
> tools/perf/builtin-report.c | 14 ++-
> tools/perf/builtin-stat.c | 3 +-
> tools/perf/perf.h | 2 +
> tools/perf/tests/code-reading.c | 10 +-
> tools/perf/tests/parse-events.c | 52 ++++++++++
> tools/perf/util/bpf-loader.c | 6 +-
> tools/perf/util/callchain.c | 102 +++++++++++++-----
> tools/perf/util/evlist.c | 24 ++++-
> tools/perf/util/evsel.c | 10 ++
> tools/perf/util/hist.c | 55 +++++++---
> tools/perf/util/hist.h | 6 +-
> tools/perf/util/parse-events.c | 173 ++++++++++++++++++++++++++-----
> tools/perf/util/parse-events.h | 8 +-
> tools/perf/util/parse-events.l | 3 +-
> tools/perf/util/parse-events.y | 75 +++++++-------
> 17 files changed, 426 insertions(+), 129 deletions(-)

Pulled, thanks a lot Arnaldo!

Ingo