linux-perf-users.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v1] perf pfm: Don't force loading of all PMUs
@ 2025-07-22  1:34 Ian Rogers
  2025-07-24 20:28 ` Namhyung Kim
  2025-07-25 18:48 ` Namhyung Kim
  0 siblings, 2 replies; 3+ messages in thread
From: Ian Rogers @ 2025-07-22  1:34 UTC (permalink / raw)
  To: Peter Zijlstra, Ingo Molnar, Arnaldo Carvalho de Melo,
	Namhyung Kim, Mark Rutland, Alexander Shishkin, Jiri Olsa,
	Ian Rogers, Adrian Hunter, Kan Liang, Jean-Philippe Romain,
	linux-perf-users, linux-kernel

Force loading all PMUs adds significant cost because DRM and other
PMUs are loaded, it should also not be required if the pmus__
functions are used.

Tested by run perf test, in particular the pfm related tests. Also
`perf list` is identical before and after.

Signed-off-by: Ian Rogers <irogers@google.com>
---
 tools/perf/util/pfm.c | 4 ----
 1 file changed, 4 deletions(-)

diff --git a/tools/perf/util/pfm.c b/tools/perf/util/pfm.c
index 0dacc133ed39..e89395814e88 100644
--- a/tools/perf/util/pfm.c
+++ b/tools/perf/util/pfm.c
@@ -47,10 +47,6 @@ int parse_libpfm_events_option(const struct option *opt, const char *str,
 	p_orig = p = strdup(str);
 	if (!p)
 		return -1;
-	/*
-	 * force loading of the PMU list
-	 */
-	perf_pmus__scan(NULL);
 
 	for (q = p; strsep(&p, ",{}"); q = p) {
 		sep = p ? str + (p - p_orig - 1) : "";
-- 
2.50.0.727.gbf7dc18ff4-goog


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

* Re: [PATCH v1] perf pfm: Don't force loading of all PMUs
  2025-07-22  1:34 [PATCH v1] perf pfm: Don't force loading of all PMUs Ian Rogers
@ 2025-07-24 20:28 ` Namhyung Kim
  2025-07-25 18:48 ` Namhyung Kim
  1 sibling, 0 replies; 3+ messages in thread
From: Namhyung Kim @ 2025-07-24 20:28 UTC (permalink / raw)
  To: Ian Rogers
  Cc: Peter Zijlstra, Ingo Molnar, Arnaldo Carvalho de Melo,
	Mark Rutland, Alexander Shishkin, Jiri Olsa, Adrian Hunter,
	Kan Liang, Jean-Philippe Romain, linux-perf-users, linux-kernel

On Mon, Jul 21, 2025 at 06:34:49PM -0700, Ian Rogers wrote:
> Force loading all PMUs adds significant cost because DRM and other
> PMUs are loaded, it should also not be required if the pmus__
> functions are used.
> 
> Tested by run perf test, in particular the pfm related tests. Also
> `perf list` is identical before and after.

I've also checked it with timing.  I'll add this to the commit message.

Before:
  $ time ./perf test pfm
   54: Test libpfm4 support                                            :
   54.1: test of individual --pfm-events                               : Ok
   54.2: test groups of --pfm-events                                   : Ok
  103: perf all libpfm4 events test                                    : Ok
  
  real	0m8.933s
  user	0m1.824s
  sys	0m7.122s
  
After:
  $ time ./perf test pfm
   54: Test libpfm4 support                                            :
   54.1: test of individual --pfm-events                               : Ok
   54.2: test groups of --pfm-events                                   : Ok
  103: perf all libpfm4 events test                                    : Ok
  
  real	0m5.259s
  user	0m1.793s
  sys	0m3.570s

Tested-by: Namhyung Kim <namhyung@kernel.org>

Thanks,
Namhyung

> 
> Signed-off-by: Ian Rogers <irogers@google.com>
> ---
>  tools/perf/util/pfm.c | 4 ----
>  1 file changed, 4 deletions(-)
> 
> diff --git a/tools/perf/util/pfm.c b/tools/perf/util/pfm.c
> index 0dacc133ed39..e89395814e88 100644
> --- a/tools/perf/util/pfm.c
> +++ b/tools/perf/util/pfm.c
> @@ -47,10 +47,6 @@ int parse_libpfm_events_option(const struct option *opt, const char *str,
>  	p_orig = p = strdup(str);
>  	if (!p)
>  		return -1;
> -	/*
> -	 * force loading of the PMU list
> -	 */
> -	perf_pmus__scan(NULL);
>  
>  	for (q = p; strsep(&p, ",{}"); q = p) {
>  		sep = p ? str + (p - p_orig - 1) : "";
> -- 
> 2.50.0.727.gbf7dc18ff4-goog
> 

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

* Re: [PATCH v1] perf pfm: Don't force loading of all PMUs
  2025-07-22  1:34 [PATCH v1] perf pfm: Don't force loading of all PMUs Ian Rogers
  2025-07-24 20:28 ` Namhyung Kim
@ 2025-07-25 18:48 ` Namhyung Kim
  1 sibling, 0 replies; 3+ messages in thread
From: Namhyung Kim @ 2025-07-25 18:48 UTC (permalink / raw)
  To: Peter Zijlstra, Ingo Molnar, Arnaldo Carvalho de Melo,
	Mark Rutland, Alexander Shishkin, Jiri Olsa, Adrian Hunter,
	Kan Liang, Jean-Philippe Romain, linux-perf-users, linux-kernel,
	Ian Rogers

On Mon, 21 Jul 2025 18:34:49 -0700, Ian Rogers wrote:
> Force loading all PMUs adds significant cost because DRM and other
> PMUs are loaded, it should also not be required if the pmus__
> functions are used.
> 
> Tested by run perf test, in particular the pfm related tests. Also
> `perf list` is identical before and after.
> 
> [...]
Applied to perf-tools-next, thanks!

Best regards,
Namhyung



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

end of thread, other threads:[~2025-07-25 18:48 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-07-22  1:34 [PATCH v1] perf pfm: Don't force loading of all PMUs Ian Rogers
2025-07-24 20:28 ` Namhyung Kim
2025-07-25 18:48 ` Namhyung Kim

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).