diff options
| author | Ingo Molnar <mingo@kernel.org> | 2015-08-13 09:23:53 +0200 |
|---|---|---|
| committer | Ingo Molnar <mingo@kernel.org> | 2015-08-13 09:23:53 +0200 |
| commit | a897b5f0393a8a05d230c9248dc5324fb30720a0 (patch) | |
| tree | 8b0ed53246df201d073e8fd6dd47304994b15f5b /tools/perf/tests/parse-events.c | |
| parent | 5f1230c9b80b89f404938ff88dfa64a963f74f2c (diff) | |
| parent | 71ef150ee06df29c5b427307dc0bacfe06a8baea (diff) | |
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:
- Allow selecting the type of callchains per event, including disabling
callchains in all but one entry in an event list, to save space, and also
to ask for the callchains collected in one event to be used in other
events. (Kan Liang)
- Beautify more syscall arguments in 'perf trace': (Arnaldo Carvalho de Melo)
- A bunch more translate file/pathnames from pointers to strings.
- Convert numbers to strings for the 'keyctl' syscall 'option' arg.
- Add missing 'clockid' entries.
- Fix 'perf probe -L sys_*' as it was not showing all the source code for
syscall functions in the kernel. (Masami Hiramatsu)
- Make ESC unzoom as well in the hists browser, i.e. in 'report' and 'top',
as we're considering repurposing the right and left arrow keys to use in
horizontal scrolling, i.e. leave just ESC to be used for what <- works
now, and ENTER for what -> does (they are already aliases for ages).
(Arnaldo Carvalho de Melo)
Infrastructure fixes:
- Check for SRCLINE_UNKNOWN case in "srcfile" processing (Andi Kleen)
- Wrap the slsmg_{printf,write_nstring} slang functions behind ui_browser, so
that we can make the ui_browser based browsers (annotate, menus, hists, etc) UI
library agnostic and usable with multiple backends (slang now, GTK+ and others
in the future, maybe) (Arnaldo Carvalho de Melo)
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'tools/perf/tests/parse-events.c')
| -rw-r--r-- | tools/perf/tests/parse-events.c | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/tools/perf/tests/parse-events.c b/tools/perf/tests/parse-events.c index f65bb89e109e..9b6b2b6324a1 100644 --- a/tools/perf/tests/parse-events.c +++ b/tools/perf/tests/parse-events.c @@ -479,6 +479,39 @@ static int test__checkevent_pmu_name(struct perf_evlist *evlist) return 0; } +static int test__checkevent_pmu_partial_time_callgraph(struct perf_evlist *evlist) +{ + struct perf_evsel *evsel = perf_evlist__first(evlist); + + /* cpu/config=1,call-graph=fp,time,period=100000/ */ + TEST_ASSERT_VAL("wrong number of entries", 2 == evlist->nr_entries); + TEST_ASSERT_VAL("wrong type", PERF_TYPE_RAW == evsel->attr.type); + TEST_ASSERT_VAL("wrong config", 1 == evsel->attr.config); + /* + * The period, time and callgraph value gets configured + * within perf_evlist__config, + * while this test executes only parse events method. + */ + TEST_ASSERT_VAL("wrong period", 0 == evsel->attr.sample_period); + TEST_ASSERT_VAL("wrong callgraph", !(PERF_SAMPLE_CALLCHAIN & evsel->attr.sample_type)); + TEST_ASSERT_VAL("wrong time", !(PERF_SAMPLE_TIME & evsel->attr.sample_type)); + + /* cpu/config=2,call-graph=no,time=0,period=2000/ */ + evsel = perf_evsel__next(evsel); + TEST_ASSERT_VAL("wrong type", PERF_TYPE_RAW == evsel->attr.type); + TEST_ASSERT_VAL("wrong config", 2 == evsel->attr.config); + /* + * The period, time and callgraph value gets configured + * within perf_evlist__config, + * while this test executes only parse events method. + */ + TEST_ASSERT_VAL("wrong period", 0 == evsel->attr.sample_period); + TEST_ASSERT_VAL("wrong callgraph", !(PERF_SAMPLE_CALLCHAIN & evsel->attr.sample_type)); + TEST_ASSERT_VAL("wrong time", !(PERF_SAMPLE_TIME & evsel->attr.sample_type)); + + return 0; +} + static int test__checkevent_pmu_events(struct perf_evlist *evlist) { struct perf_evsel *evsel = perf_evlist__first(evlist); @@ -1555,6 +1588,11 @@ static struct evlist_test test__events_pmu[] = { .check = test__checkevent_pmu_name, .id = 1, }, + { + .name = "cpu/config=1,call-graph=fp,time,period=100000/,cpu/config=2,call-graph=no,time=0,period=2000/", + .check = test__checkevent_pmu_partial_time_callgraph, + .id = 2, + }, }; struct terms_test { |
