linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] perf evlist: Extend arch_evsel__must_be_in_group to support hybrid systems
@ 2022-06-01 15:25 zhengjun.xing
  2022-06-01 16:00 ` Ian Rogers
  0 siblings, 1 reply; 2+ messages in thread
From: zhengjun.xing @ 2022-06-01 15:25 UTC (permalink / raw)
  To: acme, peterz, mingo, alexander.shishkin, jolsa
  Cc: linux-kernel, linux-perf-users, irogers, adrian.hunter, ak,
	kan.liang, zhengjun.xing

From: Zhengjun Xing <zhengjun.xing@linux.intel.com>

For the hybrid system, the "slots" event changes to "cpu_core/slots/", need
extend API arch_evsel__must_be_in_group() to support hybrid systems.

In the origin code, for hybrid system event "cpu_core/slots/", the output
of the API arch_evsel__must_be_in_group() is "false" (in fact,it should be
"true"). Currently only one API evsel__remove_from_group() calls it. In
evsel__remove_from_group(), it adds the second condition to check, so the
output of evsel__remove_from_group() still is correct. That's the reason
why there isn't an instant error. I'd like to fix the issue found in API
arch_evsel__must_be_in_group() in case someone else using the function in
the other place.

Fixes: d98079c05b5a ("perf evlist: Keep topdown counters in weak group")
Signed-off-by: Zhengjun Xing <zhengjun.xing@linux.intel.com>
Reviewed-by: Kan Liang <kan.liang@linux.intel.com>
---
 tools/perf/arch/x86/util/evsel.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/perf/arch/x86/util/evsel.c b/tools/perf/arch/x86/util/evsel.c
index 88306183d629..ff4561b7b600 100644
--- a/tools/perf/arch/x86/util/evsel.c
+++ b/tools/perf/arch/x86/util/evsel.c
@@ -57,6 +57,6 @@ bool arch_evsel__must_be_in_group(const struct evsel *evsel)
 		return false;
 
 	return evsel->name &&
-		(!strcasecmp(evsel->name, "slots") ||
+		(strcasestr(evsel->name, "slots") ||
 		 strcasestr(evsel->name, "topdown"));
 }
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] perf evlist: Extend arch_evsel__must_be_in_group to support hybrid systems
  2022-06-01 15:25 [PATCH] perf evlist: Extend arch_evsel__must_be_in_group to support hybrid systems zhengjun.xing
@ 2022-06-01 16:00 ` Ian Rogers
  0 siblings, 0 replies; 2+ messages in thread
From: Ian Rogers @ 2022-06-01 16:00 UTC (permalink / raw)
  To: zhengjun.xing
  Cc: acme, peterz, mingo, alexander.shishkin, jolsa, linux-kernel,
	linux-perf-users, adrian.hunter, ak, kan.liang

On Wed, Jun 1, 2022 at 8:25 AM <zhengjun.xing@linux.intel.com> wrote:
>
> From: Zhengjun Xing <zhengjun.xing@linux.intel.com>
>
> For the hybrid system, the "slots" event changes to "cpu_core/slots/", need
> extend API arch_evsel__must_be_in_group() to support hybrid systems.
>
> In the origin code, for hybrid system event "cpu_core/slots/", the output
> of the API arch_evsel__must_be_in_group() is "false" (in fact,it should be
> "true"). Currently only one API evsel__remove_from_group() calls it. In
> evsel__remove_from_group(), it adds the second condition to check, so the
> output of evsel__remove_from_group() still is correct. That's the reason
> why there isn't an instant error. I'd like to fix the issue found in API
> arch_evsel__must_be_in_group() in case someone else using the function in
> the other place.
>
> Fixes: d98079c05b5a ("perf evlist: Keep topdown counters in weak group")
> Signed-off-by: Zhengjun Xing <zhengjun.xing@linux.intel.com>
> Reviewed-by: Kan Liang <kan.liang@linux.intel.com>

Acked-by: Ian Rogers <irogers@google.com>

Thanks,
Ian

> ---
>  tools/perf/arch/x86/util/evsel.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/tools/perf/arch/x86/util/evsel.c b/tools/perf/arch/x86/util/evsel.c
> index 88306183d629..ff4561b7b600 100644
> --- a/tools/perf/arch/x86/util/evsel.c
> +++ b/tools/perf/arch/x86/util/evsel.c
> @@ -57,6 +57,6 @@ bool arch_evsel__must_be_in_group(const struct evsel *evsel)
>                 return false;
>
>         return evsel->name &&
> -               (!strcasecmp(evsel->name, "slots") ||
> +               (strcasestr(evsel->name, "slots") ||
>                  strcasestr(evsel->name, "topdown"));
>  }
> --
> 2.25.1
>

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2022-06-01 16:00 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-06-01 15:25 [PATCH] perf evlist: Extend arch_evsel__must_be_in_group to support hybrid systems zhengjun.xing
2022-06-01 16:00 ` Ian Rogers

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).