Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1496017 > unrolled thread
| Started by | Andi Kleen <andi@firstfloor.org> |
|---|---|
| First post | 2016-10-05 21:50 +0200 |
| Last post | 2016-10-06 00:40 +0200 |
| Articles | 4 — 2 participants |
Back to article view | Back to linux.kernel
This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by
below is the oldest one visible, not the original post.
[PATCH 2/3] perf, tools: Handle completion of upper case events Andi Kleen <andi@firstfloor.org> - 2016-10-05 21:50 +0200
Re: [PATCH 2/3] perf, tools: Handle completion of upper case events Arnaldo Carvalho de Melo <acme@kernel.org> - 2016-10-06 00:00 +0200
Re: [PATCH 2/3] perf, tools: Handle completion of upper case events Andi Kleen <andi@firstfloor.org> - 2016-10-06 00:20 +0200
Re: [PATCH 2/3] perf, tools: Handle completion of upper case events Arnaldo Carvalho de Melo <acme@kernel.org> - 2016-10-06 00:40 +0200
| From | Andi Kleen <andi@firstfloor.org> |
|---|---|
| Date | 2016-10-05 21:50 +0200 |
| Subject | [PATCH 2/3] perf, tools: Handle completion of upper case events |
| Message-ID | <sp0mu-6bE-7@gated-at.bofh.it> |
From: Andi Kleen <ak@linux.intel.com>
Vendor events are often specified in upper case. perf list outputs them
in lower case. Handle this case in perf-completion.sh so that
completion on the upper case events still works.
Signed-off-by: Andi Kleen <ak@linux.intel.com>
---
tools/perf/perf-completion.sh | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/tools/perf/perf-completion.sh b/tools/perf/perf-completion.sh
index 3ba80b2359cc..48e7a01b5c91 100644
--- a/tools/perf/perf-completion.sh
+++ b/tools/perf/perf-completion.sh
@@ -161,7 +161,11 @@ __perf_main ()
# List possible events for -e option
elif [[ $prev == @("-e"|"--event") &&
$prev_skip_opts == @(record|stat|top) ]]; then
- evts=$($cmd list --raw-dump)
+ # handle upper case events
+ case "$cur" in
+ [A-Z]*) evts=$($cmd list --raw-dump | tr a-z A-Z) ;;
+ *) evts=$($cmd list --raw-dump) ;;
+ esac
__perfcomp_colon "$evts" "$cur"
else
# List subcommands for perf commands
--
2.5.5
[toc] | [next] | [standalone]
| From | Arnaldo Carvalho de Melo <acme@kernel.org> |
|---|---|
| Date | 2016-10-06 00:00 +0200 |
| Message-ID | <sp2om-7M2-19@gated-at.bofh.it> |
| In reply to | #1496017 |
Em Wed, Oct 05, 2016 at 12:47:11PM -0700, Andi Kleen escreveu:
> From: Andi Kleen <ak@linux.intel.com>
>
> Vendor events are often specified in upper case. perf list outputs them
> in lower case. Handle this case in perf-completion.sh so that
> completion on the upper case events still works.
Humm, I just tried without your patch:
[root@jouet ~]# . ~acme/git/linux/tools/perf/perf-completion.sh
[root@jouet ~]# perf stat -e cpu_clk_<TAB>
cpu_clk_thread_unhalted.one_thread_active cpu_clk_unhalted.ref_tsc cpu_clk_unhalted.thread_any
cpu_clk_thread_unhalted.ref_xclk cpu_clk_unhalted.ref_xclk cpu_clk_unhalted.thread_p
cpu_clk_thread_unhalted.ref_xclk_any cpu_clk_unhalted.ref_xclk_any cpu_clk_unhalted.thread_p_any
cpu_clk_unhalted.one_thread_active cpu_clk_unhalted.thread
[root@jouet ~]# perf stat -e cpu_clk_
And then with it:
[root@jouet ~]# perf stat -e cpu<TAB>
And I get just beeps for the common case, i.e. lowercase, then if I try with
uppercase it works:
[root@jouet ~]# perf stat -e CPU_CLK_
CPU_CLK_THREAD_UNHALTED.ONE_THREAD_ACTIVE CPU_CLK_UNHALTED.REF_TSC CPU_CLK_UNHALTED.THREAD_ANY
CPU_CLK_THREAD_UNHALTED.REF_XCLK CPU_CLK_UNHALTED.REF_XCLK CPU_CLK_UNHALTED.THREAD_P
CPU_CLK_THREAD_UNHALTED.REF_XCLK_ANY CPU_CLK_UNHALTED.REF_XCLK_ANY CPU_CLK_UNHALTED.THREAD_P_ANY
CPU_CLK_UNHALTED.ONE_THREAD_ACTIVE CPU_CLK_UNHALTED.THREAD
[root@jouet ~]#
[root@jouet ~]# bash --version
GNU bash, version 4.3.42(1)-release (x86_64-redhat-linux-gnu)
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
[root@jouet ~]#
> Signed-off-by: Andi Kleen <ak@linux.intel.com>
> ---
> tools/perf/perf-completion.sh | 6 +++++-
> 1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/tools/perf/perf-completion.sh b/tools/perf/perf-completion.sh
> index 3ba80b2359cc..48e7a01b5c91 100644
> --- a/tools/perf/perf-completion.sh
> +++ b/tools/perf/perf-completion.sh
> @@ -161,7 +161,11 @@ __perf_main ()
> # List possible events for -e option
> elif [[ $prev == @("-e"|"--event") &&
> $prev_skip_opts == @(record|stat|top) ]]; then
> - evts=$($cmd list --raw-dump)
> + # handle upper case events
> + case "$cur" in
> + [A-Z]*) evts=$($cmd list --raw-dump | tr a-z A-Z) ;;
> + *) evts=$($cmd list --raw-dump) ;;
> + esac
> __perfcomp_colon "$evts" "$cur"
> else
> # List subcommands for perf commands
> --
> 2.5.5
[toc] | [prev] | [next] | [standalone]
| From | Andi Kleen <andi@firstfloor.org> |
|---|---|
| Date | 2016-10-06 00:20 +0200 |
| Message-ID | <sp2HD-89L-17@gated-at.bofh.it> |
| In reply to | #1496091 |
> [root@jouet ~]# bash --version > GNU bash, version 4.3.42(1)-release (x86_64-redhat-linux-gnu) > Copyright (C) 2013 Free Software Foundation, Inc. > License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> > > This is free software; you are free to change and redistribute it. > There is NO WARRANTY, to the extent permitted by law. > [root@jouet ~]# Probably a locale issue. Let me send a new patch. -Andi
[toc] | [prev] | [next] | [standalone]
| From | Arnaldo Carvalho de Melo <acme@kernel.org> |
|---|---|
| Date | 2016-10-06 00:40 +0200 |
| Message-ID | <sp310-8gt-17@gated-at.bofh.it> |
| In reply to | #1496095 |
Em Wed, Oct 05, 2016 at 03:18:05PM -0700, Andi Kleen escreveu: > > [root@jouet ~]# bash --version > > GNU bash, version 4.3.42(1)-release (x86_64-redhat-linux-gnu) > > Copyright (C) 2013 Free Software Foundation, Inc. > > License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> > > > > This is free software; you are free to change and redistribute it. > > There is NO WARRANTY, to the extent permitted by law. > > [root@jouet ~]# > > Probably a locale issue. Let me send a new patch. [root@jouet ~]# locale LANG=en_US.UTF-8 LC_CTYPE="en_US.UTF-8" LC_NUMERIC="en_US.UTF-8" LC_TIME="en_US.UTF-8" LC_COLLATE="en_US.UTF-8" LC_MONETARY="en_US.UTF-8" LC_MESSAGES="en_US.UTF-8" LC_PAPER="en_US.UTF-8" LC_NAME="en_US.UTF-8" LC_ADDRESS="en_US.UTF-8" LC_TELEPHONE="en_US.UTF-8" LC_MEASUREMENT="en_US.UTF-8" LC_IDENTIFICATION="en_US.UTF-8" LC_ALL= [root@jouet ~]# - Arnaldo
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web