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

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

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

Merge tag 'perf-core-for-mingo-20160901' 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:

- Support generating cross arch probes, i.e. if you specify a vmlinux
  file for different arch than the one in the host machine,

	 $ perf probe --definition function_name args

  will generate the probe definition string needed to append to the
  target machine /sys/kernel/debug/tracing/kprobes_events file, using
  scripting (Masami Hiramatsu).

- Make 'perf probe' skip the function prologue in uprobes if program
  compiled without optimization, using the same strategy as gdb and
  systemtap uses, fixing a bug where:

	$ perf probe -x ./test 'foo i'

  When 'foo(42)' was used on the "./test" executable would produce i=0
  instead of the expected i=42 (Ravi Bangoria)

- Demangle symbols for synthesized @plt entries too (Millian Wolff)

Documentation changes:

- Show default report configuration in 'perf config' example
  and docs (Millian Wolff)

Infrastructure changes:

- Make 'perf test vmlinux' tolerate the symbol aliasing pruning done when
  loading kallsyms and vmlinux (Arnaldo Carvalho de Melo)

- Improve output of 'perf test vmlinux' test, to help identify on the verbose
  output which lines are warning and which are errors (Arnaldo Carvalho de Melo)

- Prep work to stop having to pass symbol_filter_t to lots of functions,
  simplifying symtab loading routines (Arnaldo Carvalho de Melo)

- Honor symbol_conf.allow_aliases when loading kallsyms as well, it was using
  it only when loading vmlinux files (Arnaldo Carvalho de Melo)

- Fixup symbol->end before doing alias pruning when loading symbol tables
  (Arnaldo Carvalho de Melo)

- Fix error handling of lzma kernel module decompression (Shawn Lin)

Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
parents c9bbdd48 6243b9dc
Loading
Loading
Loading
Loading
+8 −0
Original line number Original line Diff line number Diff line
@@ -110,6 +110,14 @@ Given a $HOME/.perfconfig like this:
		order = caller
		order = caller
		sort-key = function
		sort-key = function


	[report]
		# Defaults
		sort-order = comm,dso,symbol
		percent-limit = 0
		queue-size = 0
		children = true
		group = true

Variables
Variables
~~~~~~~~~
~~~~~~~~~


+9 −0
Original line number Original line Diff line number Diff line
@@ -21,6 +21,8 @@ or
'perf probe' [options] --vars='PROBEPOINT'
'perf probe' [options] --vars='PROBEPOINT'
or
or
'perf probe' [options] --funcs
'perf probe' [options] --funcs
or
'perf probe' [options] --definition='PROBE' [...]


DESCRIPTION
DESCRIPTION
-----------
-----------
@@ -34,6 +36,8 @@ OPTIONS
-k::
-k::
--vmlinux=PATH::
--vmlinux=PATH::
	Specify vmlinux path which has debuginfo (Dwarf binary).
	Specify vmlinux path which has debuginfo (Dwarf binary).
	Only when using this with --definition, you can give an offline
	vmlinux file.


-m::
-m::
--module=MODNAME|PATH::
--module=MODNAME|PATH::
@@ -96,6 +100,11 @@ OPTIONS
	can also list functions in a user space executable / shared library.
	can also list functions in a user space executable / shared library.
	This also can accept a FILTER rule argument.
	This also can accept a FILTER rule argument.


-D::
--definition=::
	Show trace-event definition converted from given probe-event instead
	of write it into tracing/[k,u]probe_events.

--filter=FILTER::
--filter=FILTER::
	(Only for --vars and --funcs) Set filter. FILTER is a combination of glob
	(Only for --vars and --funcs) Set filter. FILTER is a combination of glob
	pattern, see FILTER PATTERN for detail.
	pattern, see FILTER PATTERN for detail.
+9 −0
Original line number Original line Diff line number Diff line
@@ -27,3 +27,12 @@
	use_offset = true
	use_offset = true
	jump_arrows = true
	jump_arrows = true
	show_nr_jumps = false
	show_nr_jumps = false

[report]

	# Defaults
	sort-order = comm,dso,symbol
	percent-limit = 0
	queue-size = 0
	children = true
	group = true
+9 −0
Original line number Original line Diff line number Diff line
#ifdef DEFINE_DWARF_REGSTR_TABLE
/* This is included in perf/util/dwarf-regs.c */

static const char * const arm_regstr_tbl[] = {
	"%r0", "%r1", "%r2", "%r3", "%r4",
	"%r5", "%r6", "%r7", "%r8", "%r9", "%r10",
	"%fp", "%ip", "%sp", "%lr", "%pc",
};
#endif
+13 −0
Original line number Original line Diff line number Diff line
#ifdef DEFINE_DWARF_REGSTR_TABLE
/* This is included in perf/util/dwarf-regs.c */

static const char * const aarch64_regstr_tbl[] = {
	"%r0", "%r1", "%r2", "%r3", "%r4",
	"%r5", "%r6", "%r7", "%r8", "%r9",
	"%r10", "%r11", "%r12", "%r13", "%r14",
	"%r15", "%r16", "%r17", "%r18", "%r19",
	"%r20", "%r21", "%r22", "%r23", "%r24",
	"%r25", "%r26", "%r27", "%r28", "%r29",
	"%lr", "%sp",
};
#endif
Loading