* [PATCH v1 1/3] perf completion: Restrict completion of events to events
@ 2023-09-05 18:15 Ian Rogers
2023-09-05 18:15 ` [PATCH v1 2/3] perf completion: Support completion of libpfm4 events Ian Rogers
` (3 more replies)
0 siblings, 4 replies; 7+ messages in thread
From: Ian Rogers @ 2023-09-05 18:15 UTC (permalink / raw)
To: Peter Zijlstra, Ingo Molnar, Arnaldo Carvalho de Melo,
Mark Rutland, Alexander Shishkin, Jiri Olsa, Namhyung Kim,
Ian Rogers, Adrian Hunter, linux-perf-users, linux-kernel,
Stephane Eranian
perf list will list libpfm4 events and metrics which aren't valid
options to the '-e' option. Restrict the events gathered so that
invalid ones aren't shown.
Before:
$ perf stat -e <tab><tab>
Display all 633 possibilities? (y or n)
After:
$ perf stat -e <tab><tab>
Display all 375 possibilities? (y or n)
Signed-off-by: Ian Rogers <irogers@google.com>
---
tools/perf/perf-completion.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/perf/perf-completion.sh b/tools/perf/perf-completion.sh
index 978249d7868c..40cfc30ad7ad 100644
--- a/tools/perf/perf-completion.sh
+++ b/tools/perf/perf-completion.sh
@@ -164,7 +164,7 @@ __perf_main ()
$prev_skip_opts == @(record|stat|top) ]]; then
local cur1=${COMP_WORDS[COMP_CWORD]}
- local raw_evts=$($cmd list --raw-dump)
+ local raw_evts=$($cmd list --raw-dump hw sw cache tracepoint pmu sdt)
local arr s tmp result cpu_evts
# aarch64 doesn't have /sys/bus/event_source/devices/cpu/events
--
2.42.0.283.g2d96d420d3-goog
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH v1 2/3] perf completion: Support completion of libpfm4 events
2023-09-05 18:15 [PATCH v1 1/3] perf completion: Restrict completion of events to events Ian Rogers
@ 2023-09-05 18:15 ` Ian Rogers
2023-09-05 18:23 ` Namhyung Kim
2023-09-05 18:15 ` [PATCH v1 3/3] perf completion: Support completion of metrics/metricgroups Ian Rogers
` (2 subsequent siblings)
3 siblings, 1 reply; 7+ messages in thread
From: Ian Rogers @ 2023-09-05 18:15 UTC (permalink / raw)
To: Peter Zijlstra, Ingo Molnar, Arnaldo Carvalho de Melo,
Mark Rutland, Alexander Shishkin, Jiri Olsa, Namhyung Kim,
Ian Rogers, Adrian Hunter, linux-perf-users, linux-kernel,
Stephane Eranian
Use `perf list --raw-dump pfm` to support completion of libpfm4 events.
Signed-off-by: Ian Rogers <irogers@google.com>
---
tools/perf/perf-completion.sh | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/tools/perf/perf-completion.sh b/tools/perf/perf-completion.sh
index 40cfc30ad7ad..319ad724b97a 100644
--- a/tools/perf/perf-completion.sh
+++ b/tools/perf/perf-completion.sh
@@ -198,6 +198,10 @@ __perf_main ()
else
__perfcomp_colon "$evts" "$cur1"
fi
+ elif [[ $prev == @("--pfm-events") &&
+ $prev_skip_opts == @(record|stat|top) ]]; then
+ local evts=$($cmd list --raw-dump pfm)
+ __perfcomp "$evts" "$cur"
else
# List subcommands for perf commands
if [[ $prev_skip_opts == @(kvm|kmem|mem|lock|sched|
--
2.42.0.283.g2d96d420d3-goog
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH v1 3/3] perf completion: Support completion of metrics/metricgroups
2023-09-05 18:15 [PATCH v1 1/3] perf completion: Restrict completion of events to events Ian Rogers
2023-09-05 18:15 ` [PATCH v1 2/3] perf completion: Support completion of libpfm4 events Ian Rogers
@ 2023-09-05 18:15 ` Ian Rogers
2023-09-05 18:23 ` Namhyung Kim
2023-09-05 18:23 ` [PATCH v1 1/3] perf completion: Restrict completion of events to events Namhyung Kim
2023-09-06 15:18 ` Arnaldo Carvalho de Melo
3 siblings, 1 reply; 7+ messages in thread
From: Ian Rogers @ 2023-09-05 18:15 UTC (permalink / raw)
To: Peter Zijlstra, Ingo Molnar, Arnaldo Carvalho de Melo,
Mark Rutland, Alexander Shishkin, Jiri Olsa, Namhyung Kim,
Ian Rogers, Adrian Hunter, linux-perf-users, linux-kernel,
Stephane Eranian
Allow metrics to expand for -M or --metrics options.
Signed-off-by: Ian Rogers <irogers@google.com>
---
tools/perf/perf-completion.sh | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/tools/perf/perf-completion.sh b/tools/perf/perf-completion.sh
index 319ad724b97a..f224d79b89e6 100644
--- a/tools/perf/perf-completion.sh
+++ b/tools/perf/perf-completion.sh
@@ -202,6 +202,10 @@ __perf_main ()
$prev_skip_opts == @(record|stat|top) ]]; then
local evts=$($cmd list --raw-dump pfm)
__perfcomp "$evts" "$cur"
+ elif [[ $prev == @("-M"|"--metrics") &&
+ $prev_skip_opts == @(stat) ]]; then
+ local metrics=$($cmd list --raw-dump metric metricgroup)
+ __perfcomp "$metrics" "$cur"
else
# List subcommands for perf commands
if [[ $prev_skip_opts == @(kvm|kmem|mem|lock|sched|
--
2.42.0.283.g2d96d420d3-goog
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH v1 1/3] perf completion: Restrict completion of events to events
2023-09-05 18:15 [PATCH v1 1/3] perf completion: Restrict completion of events to events Ian Rogers
2023-09-05 18:15 ` [PATCH v1 2/3] perf completion: Support completion of libpfm4 events Ian Rogers
2023-09-05 18:15 ` [PATCH v1 3/3] perf completion: Support completion of metrics/metricgroups Ian Rogers
@ 2023-09-05 18:23 ` Namhyung Kim
2023-09-06 15:18 ` Arnaldo Carvalho de Melo
3 siblings, 0 replies; 7+ messages in thread
From: Namhyung Kim @ 2023-09-05 18:23 UTC (permalink / raw)
To: Ian Rogers
Cc: Peter Zijlstra, Ingo Molnar, Arnaldo Carvalho de Melo,
Mark Rutland, Alexander Shishkin, Jiri Olsa, Adrian Hunter,
linux-perf-users, linux-kernel, Stephane Eranian
On Tue, Sep 5, 2023 at 11:16 AM Ian Rogers <irogers@google.com> wrote:
>
> perf list will list libpfm4 events and metrics which aren't valid
> options to the '-e' option. Restrict the events gathered so that
> invalid ones aren't shown.
>
> Before:
> $ perf stat -e <tab><tab>
> Display all 633 possibilities? (y or n)
>
> After:
> $ perf stat -e <tab><tab>
> Display all 375 possibilities? (y or n)
>
> Signed-off-by: Ian Rogers <irogers@google.com>
Acked-by: Namhyung Kim <namhyung@kernel.org>
Thanks,
Namhyung
> ---
> tools/perf/perf-completion.sh | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/tools/perf/perf-completion.sh b/tools/perf/perf-completion.sh
> index 978249d7868c..40cfc30ad7ad 100644
> --- a/tools/perf/perf-completion.sh
> +++ b/tools/perf/perf-completion.sh
> @@ -164,7 +164,7 @@ __perf_main ()
> $prev_skip_opts == @(record|stat|top) ]]; then
>
> local cur1=${COMP_WORDS[COMP_CWORD]}
> - local raw_evts=$($cmd list --raw-dump)
> + local raw_evts=$($cmd list --raw-dump hw sw cache tracepoint pmu sdt)
> local arr s tmp result cpu_evts
>
> # aarch64 doesn't have /sys/bus/event_source/devices/cpu/events
> --
> 2.42.0.283.g2d96d420d3-goog
>
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v1 2/3] perf completion: Support completion of libpfm4 events
2023-09-05 18:15 ` [PATCH v1 2/3] perf completion: Support completion of libpfm4 events Ian Rogers
@ 2023-09-05 18:23 ` Namhyung Kim
0 siblings, 0 replies; 7+ messages in thread
From: Namhyung Kim @ 2023-09-05 18:23 UTC (permalink / raw)
To: Ian Rogers
Cc: Peter Zijlstra, Ingo Molnar, Arnaldo Carvalho de Melo,
Mark Rutland, Alexander Shishkin, Jiri Olsa, Adrian Hunter,
linux-perf-users, linux-kernel, Stephane Eranian
On Tue, Sep 5, 2023 at 11:16 AM Ian Rogers <irogers@google.com> wrote:
>
> Use `perf list --raw-dump pfm` to support completion of libpfm4 events.
>
> Signed-off-by: Ian Rogers <irogers@google.com>
Acked-by: Namhyung Kim <namhyung@kernel.org>
Thanks,
Namhyung
> ---
> tools/perf/perf-completion.sh | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/tools/perf/perf-completion.sh b/tools/perf/perf-completion.sh
> index 40cfc30ad7ad..319ad724b97a 100644
> --- a/tools/perf/perf-completion.sh
> +++ b/tools/perf/perf-completion.sh
> @@ -198,6 +198,10 @@ __perf_main ()
> else
> __perfcomp_colon "$evts" "$cur1"
> fi
> + elif [[ $prev == @("--pfm-events") &&
> + $prev_skip_opts == @(record|stat|top) ]]; then
> + local evts=$($cmd list --raw-dump pfm)
> + __perfcomp "$evts" "$cur"
> else
> # List subcommands for perf commands
> if [[ $prev_skip_opts == @(kvm|kmem|mem|lock|sched|
> --
> 2.42.0.283.g2d96d420d3-goog
>
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v1 3/3] perf completion: Support completion of metrics/metricgroups
2023-09-05 18:15 ` [PATCH v1 3/3] perf completion: Support completion of metrics/metricgroups Ian Rogers
@ 2023-09-05 18:23 ` Namhyung Kim
0 siblings, 0 replies; 7+ messages in thread
From: Namhyung Kim @ 2023-09-05 18:23 UTC (permalink / raw)
To: Ian Rogers
Cc: Peter Zijlstra, Ingo Molnar, Arnaldo Carvalho de Melo,
Mark Rutland, Alexander Shishkin, Jiri Olsa, Adrian Hunter,
linux-perf-users, linux-kernel, Stephane Eranian
On Tue, Sep 5, 2023 at 11:16 AM Ian Rogers <irogers@google.com> wrote:
>
> Allow metrics to expand for -M or --metrics options.
>
> Signed-off-by: Ian Rogers <irogers@google.com>
Acked-by: Namhyung Kim <namhyung@kernel.org>
Thanks,
Namhyung
> ---
> tools/perf/perf-completion.sh | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/tools/perf/perf-completion.sh b/tools/perf/perf-completion.sh
> index 319ad724b97a..f224d79b89e6 100644
> --- a/tools/perf/perf-completion.sh
> +++ b/tools/perf/perf-completion.sh
> @@ -202,6 +202,10 @@ __perf_main ()
> $prev_skip_opts == @(record|stat|top) ]]; then
> local evts=$($cmd list --raw-dump pfm)
> __perfcomp "$evts" "$cur"
> + elif [[ $prev == @("-M"|"--metrics") &&
> + $prev_skip_opts == @(stat) ]]; then
> + local metrics=$($cmd list --raw-dump metric metricgroup)
> + __perfcomp "$metrics" "$cur"
> else
> # List subcommands for perf commands
> if [[ $prev_skip_opts == @(kvm|kmem|mem|lock|sched|
> --
> 2.42.0.283.g2d96d420d3-goog
>
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v1 1/3] perf completion: Restrict completion of events to events
2023-09-05 18:15 [PATCH v1 1/3] perf completion: Restrict completion of events to events Ian Rogers
` (2 preceding siblings ...)
2023-09-05 18:23 ` [PATCH v1 1/3] perf completion: Restrict completion of events to events Namhyung Kim
@ 2023-09-06 15:18 ` Arnaldo Carvalho de Melo
3 siblings, 0 replies; 7+ messages in thread
From: Arnaldo Carvalho de Melo @ 2023-09-06 15:18 UTC (permalink / raw)
To: Ian Rogers
Cc: Peter Zijlstra, Ingo Molnar, Mark Rutland, Alexander Shishkin,
Jiri Olsa, Namhyung Kim, Adrian Hunter, linux-perf-users,
linux-kernel, Stephane Eranian
Em Tue, Sep 05, 2023 at 11:15:52AM -0700, Ian Rogers escreveu:
> perf list will list libpfm4 events and metrics which aren't valid
> options to the '-e' option. Restrict the events gathered so that
> invalid ones aren't shown.
>
> Before:
> $ perf stat -e <tab><tab>
> Display all 633 possibilities? (y or n)
>
> After:
> $ perf stat -e <tab><tab>
> Display all 375 possibilities? (y or n)
Thanks, tested and applied.
- Arnaldo
> Signed-off-by: Ian Rogers <irogers@google.com>
> ---
> tools/perf/perf-completion.sh | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/tools/perf/perf-completion.sh b/tools/perf/perf-completion.sh
> index 978249d7868c..40cfc30ad7ad 100644
> --- a/tools/perf/perf-completion.sh
> +++ b/tools/perf/perf-completion.sh
> @@ -164,7 +164,7 @@ __perf_main ()
> $prev_skip_opts == @(record|stat|top) ]]; then
>
> local cur1=${COMP_WORDS[COMP_CWORD]}
> - local raw_evts=$($cmd list --raw-dump)
> + local raw_evts=$($cmd list --raw-dump hw sw cache tracepoint pmu sdt)
> local arr s tmp result cpu_evts
>
> # aarch64 doesn't have /sys/bus/event_source/devices/cpu/events
> --
> 2.42.0.283.g2d96d420d3-goog
>
--
- Arnaldo
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2023-09-06 15:18 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-09-05 18:15 [PATCH v1 1/3] perf completion: Restrict completion of events to events Ian Rogers
2023-09-05 18:15 ` [PATCH v1 2/3] perf completion: Support completion of libpfm4 events Ian Rogers
2023-09-05 18:23 ` Namhyung Kim
2023-09-05 18:15 ` [PATCH v1 3/3] perf completion: Support completion of metrics/metricgroups Ian Rogers
2023-09-05 18:23 ` Namhyung Kim
2023-09-05 18:23 ` [PATCH v1 1/3] perf completion: Restrict completion of events to events Namhyung Kim
2023-09-06 15:18 ` Arnaldo Carvalho de Melo
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.