Messages in this thread Patch in this message | | | From | Jin Yao <> | Subject | [PATCH v2 25/27] perf tests: Support 'Convert perf time to TSC' test for hybrid | Date | Thu, 11 Mar 2021 15:07:40 +0800 |
| |
Since for "cycles:u' on hybrid platform, it creates two "cycles". So the second evsel in evlist also needs initialization.
With this patch,
root@otcpl-adl-s-2:~# ./perf test 71 71: Convert perf time to TSC : Ok
Signed-off-by: Jin Yao <yao.jin@linux.intel.com> --- tools/perf/tests/perf-time-to-tsc.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+)
diff --git a/tools/perf/tests/perf-time-to-tsc.c b/tools/perf/tests/perf-time-to-tsc.c index 680c3cffb128..b472205ec8e3 100644 --- a/tools/perf/tests/perf-time-to-tsc.c +++ b/tools/perf/tests/perf-time-to-tsc.c @@ -66,6 +66,11 @@ int test__perf_time_to_tsc(struct test *test __maybe_unused, int subtest __maybe u64 test_tsc, comm1_tsc, comm2_tsc; u64 test_time, comm1_time = 0, comm2_time = 0; struct mmap *md; + bool hybrid = false; + + perf_pmu__scan(NULL); + if (perf_pmu__hybrid_exist()) + hybrid = true; threads = thread_map__new(-1, getpid(), UINT_MAX); CHECK_NOT_NULL__(threads); @@ -88,6 +93,17 @@ int test__perf_time_to_tsc(struct test *test __maybe_unused, int subtest __maybe evsel->core.attr.disabled = 1; evsel->core.attr.enable_on_exec = 0; + /* + * For hybrid "cycles:u", it creates two events. + * Init the second evsel here. + */ + if (hybrid) { + evsel = evsel__next(evsel); + evsel->core.attr.comm = 1; + evsel->core.attr.disabled = 1; + evsel->core.attr.enable_on_exec = 0; + } + CHECK__(evlist__open(evlist)); CHECK__(evlist__mmap(evlist, UINT_MAX)); -- 2.17.1
| |