Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit aa891009 authored by Ingo Molnar's avatar Ingo Molnar
Browse files

Merge tag 'perf-core-for-mingo' of...

Merge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux

 into perf/core

Pull perf/core improvements and fixes from Arnaldo Carvalho de Melo:

User visible changes:

  - Add --range option to show a variable's location range in 'perf probe',
    helping in collecting variables in probes when there is a mismatch
    between assembly and source code (He Kuang)

  - Show better error message when failed to find variable in 'perf probe' (He Kuang)

  - Fix 'perf report --thread' handling and document it better (Namhyung Kim)

Infrastructure changes:

  - Fix to get negative exit codes in 'perf test' test routines (He Kuang)

  - Make flex/bison calls honour V=1 (Jiri Olsa)

  - Ignore tail calls to probed functions in 'perf probe' (Naveen N. Rao)

  - Fix refcount expectations in map_group share 'perf test' (Arnaldo Carvalho de Melo)

Build Fixes:

  - Fix 'perf kmem' build due to compiler thinking uninitialized var is
    being accessed (Arnaldo Carvalho de Melo)

  - Provide le16toh if not defined, to fix the libtraceevent build on
    older distros (Arnaldo Carvalho de Melo)

  - Fix 'perf trace' build on older distros by providing some CLOEXEC, NONBLOCK
    defines (Arnaldo Carvalho de Melo)

Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
parents a41f3c8c 70923bd2
Loading
Loading
Loading
Loading
+13 −0
Original line number Diff line number Diff line
@@ -4,6 +4,19 @@
#include <endian.h>
#include "event-parse.h"

/*
 * From glibc endian.h, for older systems where it is not present, e.g.: RHEL5,
 * Fedora6.
 */
#ifndef le16toh
# if __BYTE_ORDER == __LITTLE_ENDIAN
#  define le16toh(x) (x)
# else
#  define le16toh(x) __bswap_16 (x)
# endif
#endif


static unsigned long long
process___le16_to_cpup(struct trace_seq *s, unsigned long long *args)
{
+2 −1
Original line number Diff line number Diff line
@@ -147,7 +147,8 @@ OPTIONS

-s::
--stat::
	Per thread counts.
	Record per-thread event counts.  Use it with 'perf report -T' to see
	the values.

-d::
--data::
+2 −1
Original line number Diff line number Diff line
@@ -34,7 +34,8 @@ OPTIONS

-T::
--threads::
	Show per-thread event counters
	Show per-thread event counters.  The input data file should be recorded
	with -s option.
-c::
--comms=::
	Only consider symbols in these comms. CSV that understands
+1 −1
Original line number Diff line number Diff line
@@ -713,7 +713,7 @@ static int parse_gfp_flags(struct perf_evsel *evsel, struct perf_sample *sample,
		.size = sample->raw_size,
	};
	struct trace_seq seq;
	char *str, *pos;
	char *str, *pos = NULL;

	if (nr_gfps) {
		struct gfp_flag key = {
+2 −0
Original line number Diff line number Diff line
@@ -372,6 +372,8 @@ __cmd_probe(int argc, const char **argv, const char *prefix __maybe_unused)
		     "Show accessible variables on PROBEDEF", opt_show_vars),
	OPT_BOOLEAN('\0', "externs", &probe_conf.show_ext_vars,
		    "Show external variables too (with --vars only)"),
	OPT_BOOLEAN('\0', "range", &probe_conf.show_location_range,
		"Show variables location range in scope (with --vars only)"),
	OPT_STRING('k', "vmlinux", &symbol_conf.vmlinux_name,
		   "file", "vmlinux pathname"),
	OPT_STRING('s', "source", &symbol_conf.source_prefix,
Loading