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

Commit 0ed1e0be 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:

  * Make per-cpu mmaps the default in 'perf record', from Adrian Hunter.

  * Default -t/--thread 'perf record' option to no inheritance,
    from Adrian Hunter.

  * Make 'perf top -g' refer to callchains, for consistency with other tools,
    from David Ahern.

  * Skip ignored symbols while printing callchain, from David Ahern.

  * Print callchains and symbols if they exist in 'perf script',
    from David Ahern.

  * Remove thread summary coloring in 'perf trace', from Pekka Enberg.

  * zsh completion support, from Ramkumar Ramachandra.

  * 'perf timechart' improvements, including backtrace support,
    from Stanislav Fomichev.

  * Fix using kcore files stored in the buildid cache when doing report/annotate
    in non-live sessions, from Adrian Hunter

  * Minor 'timechart' cleanups.

  * Fix tags/TAGS targets rebuilding, from Jiri Olsa.

  * Add options to show comm, fork, exit and mmap PERF_RECORD_ events in
    'perf script', from Namhyung Kim.

Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
parents 65661f96 26286141
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -4099,6 +4099,7 @@ static void pretty_print(struct trace_seq *s, void *data, int size, struct event
	unsigned long long val;
	struct func_map *func;
	const char *saveptr;
	struct trace_seq p;
	char *bprint_fmt = NULL;
	char format[32];
	int show_func;
@@ -4306,8 +4307,12 @@ static void pretty_print(struct trace_seq *s, void *data, int size, struct event
				format[len] = 0;
				if (!len_as_arg)
					len_arg = -1;
				print_str_arg(s, data, size, event,
				/* Use helper trace_seq */
				trace_seq_init(&p);
				print_str_arg(&p, data, size, event,
					      format, len_arg, arg);
				trace_seq_terminate(&p);
				trace_seq_puts(s, p.buffer);
				arg = arg->next;
				break;
			default:
+7 −5
Original line number Diff line number Diff line
@@ -57,6 +57,8 @@ OPTIONS
-t::
--tid=::
        Record events on existing thread ID (comma separated list).
        This option also disables inheritance by default.  Enable it by adding
        --inherit.

-u::
--uid=::
@@ -201,11 +203,11 @@ abort events and some memory events in precise mode on modern Intel CPUs.
--transaction::
Record transaction flags for transaction related events.

--force-per-cpu::
Force the use of per-cpu mmaps.  By default, when tasks are specified (i.e. -p,
-t or -u options) per-thread mmaps are created.  This option overrides that and
forces per-cpu mmaps.  A side-effect of that is that inheritance is
automatically enabled.  Add the -i option also to disable inheritance.
--per-thread::
Use per-thread mmaps.  By default per-cpu mmaps are created.  This option
overrides that and uses per-thread mmaps.  A side-effect of that is that
inheritance is automatically disabled.  --per-thread is ignored with a warning
if combined with -a or -C options.

SEE ALSO
--------
+6 −0
Original line number Diff line number Diff line
@@ -203,6 +203,12 @@ OPTIONS
--show-kernel-path::
	Try to resolve the path of [kernel.kallsyms]

--show-task-events
	Display task related events (e.g. FORK, COMM, EXIT).

--show-mmap-events
	Display mmap related events (e.g. MMAP, MMAP2).

SEE ALSO
--------
linkperf:perf-record[1], linkperf:perf-script-perl[1],
+22 −4
Original line number Diff line number Diff line
@@ -8,8 +8,7 @@ perf-timechart - Tool to visualize total system behavior during a workload
SYNOPSIS
--------
[verse]
'perf timechart' record <command>
'perf timechart' [<options>]
'perf timechart' [<timechart options>] {record} [<record options>]

DESCRIPTION
-----------
@@ -21,8 +20,8 @@ There are two variants of perf timechart:
  'perf timechart' to turn a trace into a Scalable Vector Graphics file,
  that can be viewed with popular SVG viewers such as 'Inkscape'.

OPTIONS
-------
TIMECHART OPTIONS
-----------------
-o::
--output=::
        Select the output file (default: output.svg)
@@ -35,6 +34,9 @@ OPTIONS
-P::
--power-only::
        Only output the CPU power section of the diagram
-T::
--tasks-only::
        Don't output processor state transitions
-p::
--process::
        Select the processes to display, by name or PID
@@ -54,6 +56,22 @@ $ perf timechart

  Written 10.2 seconds of trace to output.svg.

-n::
--proc-num::
        Print task info for at least given number of tasks.

RECORD OPTIONS
--------------
-P::
--power-only::
        Record only power-related events
-T::
--tasks-only::
        Record only tasks-related events
-g::
--callchain::
        Do call-graph (stack chain/backtrace) recording

SEE ALSO
--------
linkperf:perf-record[1]
+2 −3
Original line number Diff line number Diff line
@@ -50,7 +50,6 @@ Default is to monitor all CPUS.
--count-filter=<count>::
	Only display functions with more events than this.

-g::
--group::
        Put the counters into a counter group.

@@ -143,12 +142,12 @@ Default is to monitor all CPUS.
--asm-raw::
	Show raw instruction encoding of assembly instructions.

-G::
-g::
	Enables call-graph (stack chain/backtrace) recording.

--call-graph::
	Setup and enable call-graph (stack chain/backtrace) recording,
	implies -G.
	implies -g.

--max-stack::
	Set the stack depth limit when parsing the callchain, anything
Loading