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

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

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

BPF:

  Jiri Olsa:

  - Preserve eBPF maps when loading kcore.

  - Fix up DSO name padding in 'perf script --call-trace', as BPF DSO names are
    much larger than what we used to have there.

  - Add --show-bpf-events to 'perf script'.

perf trace:

  Arnaldo Carvalho de Melo:

  - Add string table generators and beautify arguments for the new fspick,
    fsmount, fsconfig, fsopen, move_mount and open_tree syscalls, as well
    as new values for arguments of clone and sync_file_range syscalls.

perf version:

  Arnaldo Carvalho de Melo:

  - Append 12 git SHA chars to the version string.

Namespaces:

  Namhyung Kim:

  - Add missing --namespaces option to 'perf top', to generate and process
    namespace events, just like present for 'perf record'.

Intel PT:

  Andrian Hunter:

  - Fix itrace defaults for 'perf script', not using the 'use_browser' variable
    to figure out what options are better for 'script' and 'report'

  - Allow root fixing up buildid cache permissions in the perf-with-kcore.sh
    script when sharing that cache with another user.

  - Improve sync_switch, a facility used to synchronize decoding of HW
    traces more closely with the point in the kerne where a context
    switch took place, by processing the PERF_RECORD_CONTEXT_SWITCH "in"
    metadata records too.

  - Make the exported-sql-viewer.py GUI also support pyside2, which
    upgrades from qt4 used in pyside to qt5. Use the argparser module
    for more easily addition of new command line args.

Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
parents 849e96f3 14f1cfd4
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -102,6 +102,7 @@

int vscnprintf(char *buf, size_t size, const char *fmt, va_list args);
int scnprintf(char * buf, size_t size, const char * fmt, ...);
int scnprintf_pad(char * buf, size_t size, const char * fmt, ...);

#define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]) + __must_be_array(arr))

+19 −0
Original line number Diff line number Diff line
@@ -23,3 +23,22 @@ int scnprintf(char * buf, size_t size, const char * fmt, ...)

       return (i >= ssize) ? (ssize - 1) : i;
}

int scnprintf_pad(char * buf, size_t size, const char * fmt, ...)
{
	ssize_t ssize = size;
	va_list args;
	int i;

	va_start(args, fmt);
	i = vscnprintf(buf, size, fmt, args);
	va_end(args);

	if (i < (int) size) {
		for (; i < (int) size; i++)
			buf[i] = ' ';
		buf[i] = 0x0;
	}

	return (i >= ssize) ? (ssize - 1) : i;
}
+5 −5
Original line number Diff line number Diff line
@@ -88,16 +88,16 @@ smaller.

To represent software control flow, "branches" samples are produced.  By default
a branch sample is synthesized for every single branch.  To get an idea what
data is available you can use the 'perf script' tool with no parameters, which
will list all the samples.
data is available you can use the 'perf script' tool with all itrace sampling
options, which will list all the samples.

	perf record -e intel_pt//u ls
	perf script
	perf script --itrace=ibxwpe

An interesting field that is not printed by default is 'flags' which can be
displayed as follows:

	perf script -Fcomm,tid,pid,time,cpu,event,trace,ip,sym,dso,addr,symoff,flags
	perf script --itrace=ibxwpe -F+flags

The flags are "bcrosyiABEx" which stand for branch, call, return, conditional,
system, asynchronous, interrupt, transaction abort, trace begin, trace end, and
@@ -713,7 +713,7 @@ Having no option is the same as

which, in turn, is the same as

	--itrace=ibxwpe
	--itrace=cepwx

The letters are:

+3 −0
Original line number Diff line number Diff line
@@ -313,6 +313,9 @@ OPTIONS
--show-round-events
	Display finished round events i.e. events of type PERF_RECORD_FINISHED_ROUND.

--show-bpf-events
	Display bpf events i.e. events of type PERF_RECORD_KSYMBOL and PERF_RECORD_BPF_EVENT.

--demangle::
	Demangle symbol names to human readable form. It's enabled by default,
	disable with --no-demangle.
+5 −0
Original line number Diff line number Diff line
@@ -262,6 +262,11 @@ Default is to monitor all CPUS.
	The number of threads to run when synthesizing events for existing processes.
	By default, the number of threads equals to the number of online CPUs.

--namespaces::
	Record events of type PERF_RECORD_NAMESPACES and display it with the
	'cgroup_id' sort key.


INTERACTIVE PROMPTING KEYS
--------------------------

Loading