mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-01-16 18:26:42 +00:00
perf test expr: Fix system_tsc_freq for only x86
The refactoring of tool PMU events to have a PMU then adding the expr literals to the tool PMU made it so that the literal system_tsc_freq was only supported on x86. Update the test expectations to match - namely the parsing is x86 specific and only yields a non-zero value on Intel. Fixes: 609aa2667f67 ("perf tool_pmu: Switch to standard pmu functions and json descriptions") Reported-by: Athira Rajeev <atrajeev@linux.vnet.ibm.com> Closes: https://lore.kernel.org/linux-perf-users/20241022140156.98854-1-atrajeev@linux.vnet.ibm.com/ Co-developed-by: Athira Rajeev <atrajeev@linux.vnet.ibm.com> Tested-by: Namhyung Kim <namhyung@kernel.org> Signed-off-by: Ian Rogers <irogers@google.com> Cc: James Clark <james.clark@linaro.org> Cc: akanksha@linux.ibm.com Cc: hbathini@linux.ibm.com Cc: kjain@linux.ibm.com Cc: maddy@linux.ibm.com Cc: disgoel@linux.vnet.ibm.com Cc: linuxppc-dev@lists.ozlabs.org Link: https://lore.kernel.org/r/20241205022305.158202-1-irogers@google.com Signed-off-by: Namhyung Kim <namhyung@kernel.org>
This commit is contained in:
parent
d4e17a322a
commit
a93a620c38
@ -75,14 +75,12 @@ static int test__expr(struct test_suite *t __maybe_unused, int subtest __maybe_u
|
|||||||
double val, num_cpus_online, num_cpus, num_cores, num_dies, num_packages;
|
double val, num_cpus_online, num_cpus, num_cores, num_dies, num_packages;
|
||||||
int ret;
|
int ret;
|
||||||
struct expr_parse_ctx *ctx;
|
struct expr_parse_ctx *ctx;
|
||||||
bool is_intel = false;
|
|
||||||
char strcmp_cpuid_buf[256];
|
char strcmp_cpuid_buf[256];
|
||||||
struct perf_cpu cpu = {-1};
|
struct perf_cpu cpu = {-1};
|
||||||
char *cpuid = get_cpuid_allow_env_override(cpu);
|
char *cpuid = get_cpuid_allow_env_override(cpu);
|
||||||
char *escaped_cpuid1, *escaped_cpuid2;
|
char *escaped_cpuid1, *escaped_cpuid2;
|
||||||
|
|
||||||
TEST_ASSERT_VAL("get_cpuid", cpuid);
|
TEST_ASSERT_VAL("get_cpuid", cpuid);
|
||||||
is_intel = strstr(cpuid, "Intel") != NULL;
|
|
||||||
|
|
||||||
TEST_ASSERT_EQUAL("ids_union", test_ids_union(), 0);
|
TEST_ASSERT_EQUAL("ids_union", test_ids_union(), 0);
|
||||||
|
|
||||||
@ -245,12 +243,19 @@ static int test__expr(struct test_suite *t __maybe_unused, int subtest __maybe_u
|
|||||||
if (num_dies) // Some platforms do not have CPU die support, for example s390
|
if (num_dies) // Some platforms do not have CPU die support, for example s390
|
||||||
TEST_ASSERT_VAL("#num_dies >= #num_packages", num_dies >= num_packages);
|
TEST_ASSERT_VAL("#num_dies >= #num_packages", num_dies >= num_packages);
|
||||||
|
|
||||||
TEST_ASSERT_VAL("#system_tsc_freq", expr__parse(&val, ctx, "#system_tsc_freq") == 0);
|
|
||||||
if (is_intel)
|
|
||||||
TEST_ASSERT_VAL("#system_tsc_freq > 0", val > 0);
|
|
||||||
else
|
|
||||||
TEST_ASSERT_VAL("#system_tsc_freq == 0", fpclassify(val) == FP_ZERO);
|
|
||||||
|
|
||||||
|
if (expr__parse(&val, ctx, "#system_tsc_freq") == 0) {
|
||||||
|
bool is_intel = strstr(cpuid, "Intel") != NULL;
|
||||||
|
|
||||||
|
if (is_intel)
|
||||||
|
TEST_ASSERT_VAL("#system_tsc_freq > 0", val > 0);
|
||||||
|
else
|
||||||
|
TEST_ASSERT_VAL("#system_tsc_freq == 0", fpclassify(val) == FP_ZERO);
|
||||||
|
} else {
|
||||||
|
#if defined(__i386__) || defined(__x86_64__)
|
||||||
|
TEST_ASSERT_VAL("#system_tsc_freq unsupported", 0);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
/*
|
/*
|
||||||
* Source count returns the number of events aggregating in a leader
|
* Source count returns the number of events aggregating in a leader
|
||||||
* event including the leader. Check parsing yields an id.
|
* event including the leader. Check parsing yields an id.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user