Messages in this thread Patch in this message | | | From | Jin Yao <> | Subject | [PATCH v5 24/26] perf tests: Support 'Convert perf time to TSC' test for hybrid | Date | Fri, 23 Apr 2021 13:35:39 +0800 |
| |
Since for "cycles:u' on hybrid platform, it creates two "cycles". So the second evsel in evlist also needs initialization.
With this patch,
# ./perf test 71 71: Convert perf time to TSC : Ok
Signed-off-by: Jin Yao <yao.jin@linux.intel.com> --- v5: - Drop the variable 'hybrid' and use 'if (perf_pmu__has_hybrid())'.
tools/perf/tests/perf-time-to-tsc.c | 12 ++++++++++++ 1 file changed, 12 insertions(+)
diff --git a/tools/perf/tests/perf-time-to-tsc.c b/tools/perf/tests/perf-time-to-tsc.c index 680c3cffb128..85d75b9b25a1 100644 --- a/tools/perf/tests/perf-time-to-tsc.c +++ b/tools/perf/tests/perf-time-to-tsc.c @@ -20,6 +20,7 @@ #include "tsc.h" #include "mmap.h" #include "tests.h" +#include "pmu.h" #define CHECK__(x) { \ while ((x) < 0) { \ @@ -88,6 +89,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 (perf_pmu__has_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
| |