[PATCH 00/26] perf/core improvements and fixes

From: Arnaldo Carvalho de Melo
Date: Tue Jan 26 2016 - 14:23:56 EST

Hi Ingo,

Please consider pulling, this is on top of the perf-urgent-for-mingo
branch I sent you today.

- Arnaldo

The following changes since commit 3f416f22d1e21709a631189ba169f76fd267b374:

perf stat: Do not clean event's private stats (2016-01-26 11:15:11 -0300)

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 5ac76283b32b116c58e362e99542182ddcfc8262:

perf cpumap: Auto initialize cpu__max_{node,cpu} (2016-01-26 16:08:36 -0300)

perf/core improvements and fixes:

User visible:

- Rename the "colors.code" ~/.perfconfig variable to "colors.jump_arrows",
as it controls just the that UI element in the annotate browser (Taeung Song)

- Avoid trying to read ELF symtabs from device files, noticed while doing
memory profiling work (Jiri Olsa)

- Improve context detection when offering options in the hists browser,
i.e. some options don't make sense when the browser is not working with
a perf.data file ('perf top' mode), only in 'perf report' mode, like
scripting (Namhyung Kim)


- Elliminate duplication in the hists browser filter functions, getting the
common part into a function that receives callbacks for filtering by
DSO, thread, etc (Namhyung Kim)

- Fix misleadingly indented assignment, found using
gcc6 -Wmisleading-indentation (Markus Trippelsdorf)

- Handle LLVM relocation oddities in libbpf, introducing a 'perf test' that
detects such problems and then fixing the problem, so that the test now
passes (Wang Nan)

- More improvements to the build infrastructure to allow reusing the
feature detection facilities (Wang Nan)

- Auto initialize the globals needed by cpu__max_{cpu,node}() routines
(Arnaldo Carvalho de Melo)


- Document the perf sysctls in Documentation/sysctl/kernel.txt (Ben Hutchings)

- Document a bunch more ~/.perfconfig knobs (Taeung Song)

Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>

Arnaldo Carvalho de Melo (3):
perf machine: Introduce machine__find_kernel_symbol_by_name()
perf test: Fixup aliases checking in the 'vmlinux matches kallsyms' test
perf cpumap: Auto initialize cpu__max_{node,cpu}

Ben Hutchings (1):
perf tools: Document the perf sysctls

Jiri Olsa (2):
perf symbols: Do not read symbols/data from device files
perf stat: Making several helper functions static

Markus Trippelsdorf (1):
perf pmu: Fix misleadingly indented assignment (whitespace)

Namhyung Kim (9):
perf hists: Remove parent filter check in DSO filter function
perf hists: Cleanup filtering functions
perf sort: Provide a way to find out if per-thread bucketing is in place
perf hists browser: Only 'Zoom into thread' only when sort order has 'pid'
perf hists browser: Only offer symbol scripting when a symbol is under the cursor
perf hists browser: Offer 'Zoom into DSO'/'Map details' only when sort order has 'dso'
perf hists browser: Be a bit more strict about presenting CPU socket zoom
perf hists browser: Offer non-symbol specific menu options for --sort without 'sym'
perf hists browser: Skip scripting when perf.data file not available

Taeung Song (6):
perf annotate: Rename 'colors.code' to 'colors.jump_arrows'
perf config: Document variables for 'colors' section in man page
perf config: Document variables for 'tui' and 'gtk' sections in man page
perf config: Document 'buildid.dir' variable in man page
perf config: Document variables for 'annotate' section in man page
perf config: Document 'hist.percentage' variable in man page

Wang Nan (4):
perf test: Add libbpf relocation checker
perf bpf: Check relocation target section
tools build: Allow subprojects select all feature checkers
perf build: Select all feature checkers for feature-dump

Documentation/sysctl/kernel.txt | 13 ++
tools/build/Makefile.feature | 21 ++-
tools/lib/bpf/libbpf.c | 34 +++--
tools/perf/Documentation/perf-config.txt | 200 +++++++++++++++++++++++++-
tools/perf/Documentation/perfconfig.example | 2 +-
tools/perf/Makefile.perf | 11 +-
tools/perf/tests/.gitignore | 1 +
tools/perf/tests/Build | 9 +-
tools/perf/tests/bpf-script-test-relocation.c | 50 +++++++
tools/perf/tests/bpf.c | 26 +++-
tools/perf/tests/llvm.c | 17 ++-
tools/perf/tests/llvm.h | 5 +-
tools/perf/tests/vmlinux-kallsyms.c | 24 +---
tools/perf/ui/browser.c | 4 +-
tools/perf/ui/browser.h | 2 +-
tools/perf/ui/browsers/annotate.c | 2 +-
tools/perf/ui/browsers/hists.c | 38 ++---
tools/perf/util/cpumap.c | 30 ++++
tools/perf/util/cpumap.h | 32 +----
tools/perf/util/dso.c | 5 +
tools/perf/util/evsel.c | 15 +-
tools/perf/util/hist.c | 92 ++++--------
tools/perf/util/machine.h | 10 ++
tools/perf/util/pmu.c | 2 +-
tools/perf/util/sort.c | 3 +
tools/perf/util/sort.h | 2 +
tools/perf/util/stat.c | 14 +-
tools/perf/util/stat.h | 10 --
tools/perf/util/symbol.c | 6 +-
tools/perf/util/util.c | 10 ++
tools/perf/util/util.h | 1 +
31 files changed, 507 insertions(+), 184 deletions(-)
create mode 100644 tools/perf/tests/bpf-script-test-relocation.c