diff options
| author | Ingo Molnar <mingo@kernel.org> | 2018-03-09 08:27:55 +0100 |
|---|---|---|
| committer | Ingo Molnar <mingo@kernel.org> | 2018-03-09 08:27:55 +0100 |
| commit | fbf8a1e12c3ba3afdf0804bc80f5f13dfec1cffe (patch) | |
| tree | 6b0dd23c7646cd4ec13b0636cdda11188d6845a3 /tools/perf/tests | |
| parent | 1af22eba248efe2de25658041a80a3d40fb3e92e (diff) | |
| parent | 2427b432e63b4b911100f717c48289195b7a7d62 (diff) | |
Merge tag 'perf-core-for-mingo-4.17-20180308' 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:
- Support to display the IPC/Cycle in 'annotate' TUI, for systems
where this info can be obtained, like Intel's >= Skylake (Jin Yao)
- Support wildcards on PMU name in dynamic PMU events (Agustin Vega-Frias)
- Display pmu name when printing unmerged events in stat (Agustin Vega-Frias)
- Auto-merge PMU events created by prefix or glob match (Agustin Vega-Frias)
- Fix s390 'call' operations target function annotation (Thomas Richter)
- Handle s390 PC relative load and store instruction in the augmented
'annotate', code, used so far in the TUI modes of 'perf report' and
'perf annotate' (Thomas Richter)
- Provide libtraceevent with a kernel symbol resolver, so that
symbols in tracepoint fields can be resolved when showing them in
tools such as 'perf report' (Wang YanQing)
- Refactor the cgroups code to look more like other code in tools/perf,
using cgroup__{put,get} for refcount operations instead of its
open-coded equivalent, breaking larger functions, etc (Arnaldo Carvalho de Melo)
- Implement support for the -G/--cgroup target in 'perf trace', allowing
strace like tracing (plus other events, backtraces, etc) for cgroups
(Arnaldo Carvalho de Melo)
- Update thread shortname in 'perf sched map' when the thread's COMM
changes (Changbin Du)
- refcount 'struct mem_info', for better sharing it over several
users, avoid duplicating structs and fixing crashes related to
use after free (Jiri Olsa)
- Display perf.data version, offsets in 'perf report --header' (Jiri Olsa)
- Record the machine's memory topology information in a perf.data
feature section, to be used by tools such as 'perf c2c' (Jiri Olsa)
- Fix output of forced groups in the header for 'perf report' --stdio
and --tui (Jiri Olsa)
- Better support llvm, clang, cxx make tests in the build process (Jiri Olsa)
- Streamline the 'struct perf_mmap' methods, storing some info in the
struct instead of passing it via various methods, shortening its
signatures (Kan Liang)
- Update the quipper perf.data parser library site information (Stephane Eranian)
- Correct perf's man pages title markers for asciidoctor (Takashi Iwai)
- Intel PT fixes and refactorings paving the way for implementing
support for AUX area sampling (Adrian Hunter)
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'tools/perf/tests')
| -rw-r--r-- | tools/perf/tests/backward-ring-buffer.c | 5 | ||||
| -rw-r--r-- | tools/perf/tests/bpf.c | 5 | ||||
| -rw-r--r-- | tools/perf/tests/code-reading.c | 7 | ||||
| -rw-r--r-- | tools/perf/tests/keep-tracking.c | 7 | ||||
| -rw-r--r-- | tools/perf/tests/mmap-basic.c | 7 | ||||
| -rw-r--r-- | tools/perf/tests/openat-syscall-tp-fields.c | 7 | ||||
| -rw-r--r-- | tools/perf/tests/perf-record.c | 7 | ||||
| -rw-r--r-- | tools/perf/tests/sw-clock.c | 7 | ||||
| -rw-r--r-- | tools/perf/tests/switch-tracking.c | 7 | ||||
| -rw-r--r-- | tools/perf/tests/task-exit.c | 7 |
10 files changed, 28 insertions, 38 deletions
diff --git a/tools/perf/tests/backward-ring-buffer.c b/tools/perf/tests/backward-ring-buffer.c index e0b1b414d466..6d598cc071ae 100644 --- a/tools/perf/tests/backward-ring-buffer.c +++ b/tools/perf/tests/backward-ring-buffer.c @@ -33,10 +33,9 @@ static int count_samples(struct perf_evlist *evlist, int *sample_count, for (i = 0; i < evlist->nr_mmaps; i++) { struct perf_mmap *map = &evlist->overwrite_mmap[i]; union perf_event *event; - u64 start, end; - perf_mmap__read_init(map, true, &start, &end); - while ((event = perf_mmap__read_event(map, true, &start, end)) != NULL) { + perf_mmap__read_init(map); + while ((event = perf_mmap__read_event(map)) != NULL) { const u32 type = event->header.type; switch (type) { diff --git a/tools/perf/tests/bpf.c b/tools/perf/tests/bpf.c index 09c9c9f9e827..79b54f8ddebf 100644 --- a/tools/perf/tests/bpf.c +++ b/tools/perf/tests/bpf.c @@ -177,13 +177,12 @@ static int do_test(struct bpf_object *obj, int (*func)(void), for (i = 0; i < evlist->nr_mmaps; i++) { union perf_event *event; struct perf_mmap *md; - u64 end, start; md = &evlist->mmap[i]; - if (perf_mmap__read_init(md, false, &start, &end) < 0) + if (perf_mmap__read_init(md) < 0) continue; - while ((event = perf_mmap__read_event(md, false, &start, end)) != NULL) { + while ((event = perf_mmap__read_event(md)) != NULL) { const u32 type = event->header.type; if (type == PERF_RECORD_SAMPLE) diff --git a/tools/perf/tests/code-reading.c b/tools/perf/tests/code-reading.c index 03ed8c77b1bb..99936352df4f 100644 --- a/tools/perf/tests/code-reading.c +++ b/tools/perf/tests/code-reading.c @@ -410,17 +410,16 @@ static int process_events(struct machine *machine, struct perf_evlist *evlist, { union perf_event *event; struct perf_mmap *md; - u64 end, start; int i, ret; for (i = 0; i < evlist->nr_mmaps; i++) { md = &evlist->mmap[i]; - if (perf_mmap__read_init(md, false, &start, &end) < 0) + if (perf_mmap__read_init(md) < 0) continue; - while ((event = perf_mmap__read_event(md, false, &start, end)) != NULL) { + while ((event = perf_mmap__read_event(md)) != NULL) { ret = process_event(machine, evlist, event, state); - perf_mmap__consume(md, false); + perf_mmap__consume(md); if (ret < 0) return ret; } diff --git a/tools/perf/tests/keep-tracking.c b/tools/perf/tests/keep-tracking.c index 4590d8fb91ab..17c46f3e6f1e 100644 --- a/tools/perf/tests/keep-tracking.c +++ b/tools/perf/tests/keep-tracking.c @@ -28,21 +28,20 @@ static int find_comm(struct perf_evlist *evlist, const char *comm) { union perf_event *event; struct perf_mmap *md; - u64 end, start; int i, found; found = 0; for (i = 0; i < evlist->nr_mmaps; i++) { md = &evlist->mmap[i]; - if (perf_mmap__read_init(md, false, &start, &end) < 0) + if (perf_mmap__read_init(md) < 0) continue; - while ((event = perf_mmap__read_event(md, false, &start, end)) != NULL) { + while ((event = perf_mmap__read_event(md)) != NULL) { if (event->header.type == PERF_RECORD_COMM && (pid_t)event->comm.pid == getpid() && (pid_t)event->comm.tid == getpid() && strcmp(event->comm.comm, comm) == 0) found += 1; - perf_mmap__consume(md, false); + perf_mmap__consume(md); } perf_mmap__read_done(md); } diff --git a/tools/perf/tests/mmap-basic.c b/tools/perf/tests/mmap-basic.c index 44c58d69cd87..bb8e6bcb0d96 100644 --- a/tools/perf/tests/mmap-basic.c +++ b/tools/perf/tests/mmap-basic.c @@ -39,7 +39,6 @@ int test__basic_mmap(struct test *test __maybe_unused, int subtest __maybe_unuse struct perf_evsel *evsels[nsyscalls], *evsel; char sbuf[STRERR_BUFSIZE]; struct perf_mmap *md; - u64 end, start; threads = thread_map__new(-1, getpid(), UINT_MAX); if (threads == NULL) { @@ -109,10 +108,10 @@ int test__basic_mmap(struct test *test __maybe_unused, int subtest __maybe_unuse } md = &evlist->mmap[0]; - if (perf_mmap__read_init(md, false, &start, &end) < 0) + if (perf_mmap__read_init(md) < 0) goto out_init; - while ((event = perf_mmap__read_event(md, false, &start, end)) != NULL) { + while ((event = perf_mmap__read_event(md)) != NULL) { struct perf_sample sample; if (event->header.type != PERF_RECORD_SAMPLE) { @@ -135,7 +134,7 @@ int test__basic_mmap(struct test *test __maybe_unused, int subtest __maybe_unuse goto out_delete_evlist; } nr_events[evsel->idx]++; - perf_mmap__consume(md, false); + perf_mmap__consume(md); } perf_mmap__read_done(md); diff --git a/tools/perf/tests/openat-syscall-tp-fields.c b/tools/perf/tests/openat-syscall-tp-fields.c index 620b21023f72..344dc3ac2469 100644 --- a/tools/perf/tests/openat-syscall-tp-fields.c +++ b/tools/perf/tests/openat-syscall-tp-fields.c @@ -87,13 +87,12 @@ int test__syscall_openat_tp_fields(struct test *test __maybe_unused, int subtest for (i = 0; i < evlist->nr_mmaps; i++) { union perf_event *event; struct perf_mmap *md; - u64 end, start; md = &evlist->mmap[i]; - if (perf_mmap__read_init(md, false, &start, &end) < 0) + if (perf_mmap__read_init(md) < 0) continue; - while ((event = perf_mmap__read_event(md, false, &start, end)) != NULL) { + while ((event = perf_mmap__read_event(md)) != NULL) { const u32 type = event->header.type; int tp_flags; struct perf_sample sample; @@ -101,7 +100,7 @@ int test__syscall_openat_tp_fields(struct test *test __maybe_unused, int subtest ++nr_events; if (type != PERF_RECORD_SAMPLE) { - perf_mmap__consume(md, false); + perf_mmap__consume(md); continue; } diff --git a/tools/perf/tests/perf-record.c b/tools/perf/tests/perf-record.c index 31f3f70adca6..34394cc05077 100644 --- a/tools/perf/tests/perf-record.c +++ b/tools/perf/tests/perf-record.c @@ -165,13 +165,12 @@ int test__PERF_RECORD(struct test *test __maybe_unused, int subtest __maybe_unus for (i = 0; i < evlist->nr_mmaps; i++) { union perf_event *event; struct perf_mmap *md; - u64 end, start; md = &evlist->mmap[i]; - if (perf_mmap__read_init(md, false, &start, &end) < 0) + if (perf_mmap__read_init(md) < 0) continue; - while ((event = perf_mmap__read_event(md, false, &start, end)) != NULL) { + while ((event = perf_mmap__read_event(md)) != NULL) { const u32 type = event->header.type; const char *name = perf_event__name(type); @@ -272,7 +271,7 @@ int test__PERF_RECORD(struct test *test __maybe_unused, int subtest __maybe_unus ++errs; } - perf_mmap__consume(md, false); + perf_mmap__consume(md); } perf_mmap__read_done(md); } diff --git a/tools/perf/tests/sw-clock.c b/tools/perf/tests/sw-clock.c index e6320e267ba5..f9490b237893 100644 --- a/tools/perf/tests/sw-clock.c +++ b/tools/perf/tests/sw-clock.c @@ -40,7 +40,6 @@ static int __test__sw_clock_freq(enum perf_sw_ids clock_id) struct cpu_map *cpus; struct thread_map *threads; struct perf_mmap *md; - u64 end, start; attr.sample_freq = 500; @@ -96,10 +95,10 @@ static int __test__sw_clock_freq(enum perf_sw_ids clock_id) perf_evlist__disable(evlist); md = &evlist->mmap[0]; - if (perf_mmap__read_init(md, false, &start, &end) < 0) + if (perf_mmap__read_init(md) < 0) goto out_init; - while ((event = perf_mmap__read_event(md, false, &start, end)) != NULL) { + while ((event = perf_mmap__read_event(md)) != NULL) { struct perf_sample sample; if (event->header.type != PERF_RECORD_SAMPLE) @@ -114,7 +113,7 @@ static int __test__sw_clock_freq(enum perf_sw_ids clock_id) total_periods += sample.period; nr_samples++; next_event: - perf_mmap__consume(md, false); + perf_mmap__consume(md); } perf_mmap__read_done(md); diff --git a/tools/perf/tests/switch-tracking.c b/tools/perf/tests/switch-tracking.c index 10c4dcdc2324..9b5be51e5e7b 100644 --- a/tools/perf/tests/switch-tracking.c +++ b/tools/perf/tests/switch-tracking.c @@ -259,18 +259,17 @@ static int process_events(struct perf_evlist *evlist, LIST_HEAD(events); struct event_node *events_array, *node; struct perf_mmap *md; - u64 end, start; int i, ret; for (i = 0; i < evlist->nr_mmaps; i++) { md = &evlist->mmap[i]; - if (perf_mmap__read_init(md, false, &start, &end) < 0) + if (perf_mmap__read_init(md) < 0) continue; - while ((event = perf_mmap__read_event(md, false, &start, end)) != NULL) { + while ((event = perf_mmap__read_event(md)) != NULL) { cnt += 1; ret = add_event(evlist, &events, event); - perf_mmap__consume(md, false); + perf_mmap__consume(md); if (ret < 0) goto out_free_nodes; } diff --git a/tools/perf/tests/task-exit.c b/tools/perf/tests/task-exit.c index 02b0888b72a3..e92fa6029ac7 100644 --- a/tools/perf/tests/task-exit.c +++ b/tools/perf/tests/task-exit.c @@ -48,7 +48,6 @@ int test__task_exit(struct test *test __maybe_unused, int subtest __maybe_unused struct cpu_map *cpus; struct thread_map *threads; struct perf_mmap *md; - u64 end, start; signal(SIGCHLD, sig_handler); @@ -113,14 +112,14 @@ int test__task_exit(struct test *test __maybe_unused, int subtest __maybe_unused retry: md = &evlist->mmap[0]; - if (perf_mmap__read_init(md, false, &start, &end) < 0) + if (perf_mmap__read_init(md) < 0) goto out_init; - while ((event = perf_mmap__read_event(md, false, &start, end)) != NULL) { + while ((event = perf_mmap__read_event(md)) != NULL) { if (event->header.type == PERF_RECORD_EXIT) nr_exit++; - perf_mmap__consume(md, false); + perf_mmap__consume(md); } perf_mmap__read_done(md); |
