[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAP-5=fV+LFcMRwHPZUrq=MpOZVp8Q+4vEVKGTQg3rLREfJsg1w@mail.gmail.com>
Date: Mon, 15 May 2023 10:09:08 -0700
From: Ian Rogers <irogers@...gle.com>
To: Namhyung Kim <namhyung@...nel.org>
Cc: Arnaldo Carvalho de Melo <acme@...nel.org>,
Jiri Olsa <jolsa@...nel.org>,
Adrian Hunter <adrian.hunter@...el.com>,
Peter Zijlstra <peterz@...radead.org>,
Ingo Molnar <mingo@...nel.org>,
LKML <linux-kernel@...r.kernel.org>,
linux-perf-users@...r.kernel.org, Andi Kleen <ak@...ux.intel.com>
Subject: Re: [PATCH 3/3] perf annotate browser: Add '<' and '>' keys for navigation
On Wed, May 10, 2023 at 11:27 PM Namhyung Kim <namhyung@...nel.org> wrote:
>
> The hists__find_annotations() allow to move to next or previous symbols
> for annotation using the arrow keys. But TUI annotate_browser__run()
> uses the RIGHT key as ENTER to handle jump/call instructions. That
> makes the navigation to the next function impossible.
>
> I'd like to change it back to move the next symbol but I'm afraid if
> some users get confused. So I added a new pair of keys to handle that.
>
> Signed-off-by: Namhyung Kim <namhyung@...nel.org>
Acked-by: Ian Rogers <irogers@...gle.com>
Thanks,
Ian
> ---
> tools/perf/builtin-annotate.c | 4 +++-
> tools/perf/ui/browsers/annotate.c | 4 +++-
> 2 files changed, 6 insertions(+), 2 deletions(-)
>
> diff --git a/tools/perf/builtin-annotate.c b/tools/perf/builtin-annotate.c
> index 63cdf6ea6f6d..425a7e2fd6fb 100644
> --- a/tools/perf/builtin-annotate.c
> +++ b/tools/perf/builtin-annotate.c
> @@ -342,7 +342,7 @@ static void hists__find_annotations(struct hists *hists,
> notes = symbol__annotation(he->ms.sym);
> if (notes->src == NULL) {
> find_next:
> - if (key == K_LEFT)
> + if (key == K_LEFT || key == '<')
> nd = rb_prev(nd);
> else
> nd = rb_next(nd);
> @@ -378,9 +378,11 @@ static void hists__find_annotations(struct hists *hists,
> return;
> /* fall through */
> case K_RIGHT:
> + case '>':
> next = rb_next(nd);
> break;
> case K_LEFT:
> + case '<':
> next = rb_prev(nd);
> break;
> default:
> diff --git a/tools/perf/ui/browsers/annotate.c b/tools/perf/ui/browsers/annotate.c
> index 12c3ce530e42..70bad42b807b 100644
> --- a/tools/perf/ui/browsers/annotate.c
> +++ b/tools/perf/ui/browsers/annotate.c
> @@ -781,9 +781,9 @@ static int annotate_browser__run(struct annotate_browser *browser,
> ui_browser__help_window(&browser->b,
> "UP/DOWN/PGUP\n"
> "PGDN/SPACE Navigate\n"
> + "</> Move to prev/next symbol\n"
> "q/ESC/CTRL+C Exit\n\n"
> "ENTER Go to target\n"
> - "ESC Exit\n"
> "H Go to hottest instruction\n"
> "TAB/shift+TAB Cycle thru hottest instructions\n"
> "j Toggle showing jump to target arrows\n"
> @@ -913,6 +913,8 @@ static int annotate_browser__run(struct annotate_browser *browser,
> annotation__toggle_full_addr(notes, ms);
> continue;
> case K_LEFT:
> + case '<':
> + case '>':
> case K_ESC:
> case 'q':
> case CTRL('c'):
> --
> 2.40.1.521.gf1e218fcd8-goog
>
Powered by blists - more mailing lists