Messages in this thread | | | Date | Wed, 30 Aug 2023 13:28:14 -0300 | From | Arnaldo Carvalho de Melo <> | Subject | Re: [PATCH v1] perf metric: Add #num_cpus_online literal |
| |
Em Wed, Aug 30, 2023 at 09:14:00AM -0400, Liang, Kan escreveu: > > > On 2023-08-30 3:30 a.m., Ian Rogers wrote: > > Returns the number of CPUs online, unlike #num_cpus that returns the > > number present. Add a test of the property. This will be used in > > future Intel metrics. > > > > Signed-off-by: Ian Rogers <irogers@google.com> > > Reviewed-by: Kan Liang <kan.liang@linux.intel.com>
Thanks, applied.
- Arnaldo
> Thanks, > Kan > > --- > > tools/perf/tests/expr.c | 5 ++++- > > tools/perf/util/expr.c | 7 +++++++ > > 2 files changed, 11 insertions(+), 1 deletion(-) > > > > diff --git a/tools/perf/tests/expr.c b/tools/perf/tests/expr.c > > index c1c3fcbc2753..81229fa4f1e9 100644 > > --- a/tools/perf/tests/expr.c > > +++ b/tools/perf/tests/expr.c > > @@ -70,7 +70,7 @@ static int test__expr(struct test_suite *t __maybe_unused, int subtest __maybe_u > > { > > struct expr_id_data *val_ptr; > > const char *p; > > - double val, num_cpus, num_cores, num_dies, num_packages; > > + double val, num_cpus_online, num_cpus, num_cores, num_dies, num_packages; > > int ret; > > struct expr_parse_ctx *ctx; > > bool is_intel = false; > > @@ -227,7 +227,10 @@ static int test__expr(struct test_suite *t __maybe_unused, int subtest __maybe_u > > > > /* Test toplogy constants appear well ordered. */ > > expr__ctx_clear(ctx); > > + TEST_ASSERT_VAL("#num_cpus_online", > > + expr__parse(&num_cpus_online, ctx, "#num_cpus_online") == 0); > > TEST_ASSERT_VAL("#num_cpus", expr__parse(&num_cpus, ctx, "#num_cpus") == 0); > > + TEST_ASSERT_VAL("#num_cpus >= #num_cpus_online", num_cpus >= num_cpus_online); > > TEST_ASSERT_VAL("#num_cores", expr__parse(&num_cores, ctx, "#num_cores") == 0); > > TEST_ASSERT_VAL("#num_cpus >= #num_cores", num_cpus >= num_cores); > > TEST_ASSERT_VAL("#num_dies", expr__parse(&num_dies, ctx, "#num_dies") == 0); > > diff --git a/tools/perf/util/expr.c b/tools/perf/util/expr.c > > index 0985a3cbc6f9..4488f306de78 100644 > > --- a/tools/perf/util/expr.c > > +++ b/tools/perf/util/expr.c > > @@ -427,6 +427,13 @@ double expr__get_literal(const char *literal, const struct expr_scanner_ctx *ctx > > result = cpu__max_present_cpu().cpu; > > goto out; > > } > > + if (!strcmp("#num_cpus_online", literal)) { > > + struct perf_cpu_map *online = cpu_map__online(); > > + > > + if (online) > > + result = perf_cpu_map__nr(online); > > + goto out; > > + } > > > > if (!strcasecmp("#system_tsc_freq", literal)) { > > result = arch_get_tsc_freq();
--
- Arnaldo
| |