From: Arnaldo Carvalho de Melo <acme@kernel.org>
To: Ingo Molnar <mingo@kernel.org>
Cc: linux-kernel@vger.kernel.org, Namhyung Kim <namhyung@kernel.org>,
David Ahern <dsahern@gmail.com>, Jiri Olsa <jolsa@redhat.com>,
Peter Zijlstra <a.p.zijlstra@chello.nl>,
Arnaldo Carvalho de Melo <acme@redhat.com>
Subject: [PATCH 14/14] perf tools: Make Ctrl-C stop processing on TUI
Date: Fri, 29 May 2015 13:30:24 -0300 [thread overview]
Message-ID: <1432917024-3899-15-git-send-email-acme@kernel.org> (raw)
In-Reply-To: <1432917024-3899-1-git-send-email-acme@kernel.org>
From: Namhyung Kim <namhyung@kernel.org>
It was inconvenient that perf cannot be quit with SIGINT during
processing samples on TUI especially for large data files.
This was because the first argument of SLang_init_tty(), abort_char,
being 0. The manual says it's the ascii value of the control character
that will be used to generate the interrupt signal [1]. Passing -1
means to use the default value (Ctrl-C).
However, after processing samples, Ctrl-C was used to in other cases as
well - like stepping back from annotate. So recover the original
behavior after processing.
[1] http://jedsoft.org/slang/doc/html/cslang-6.html#ss6.1
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/r/1432904024-13170-1-git-send-email-namhyung@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/ui/browsers/annotate.c | 4 ++++
tools/perf/ui/browsers/hists.c | 4 ++++
tools/perf/ui/tui/setup.c | 2 +-
3 files changed, 9 insertions(+), 1 deletion(-)
diff --git a/tools/perf/ui/browsers/annotate.c b/tools/perf/ui/browsers/annotate.c
index e5250eb2dd57..acb0e23b138e 100644
--- a/tools/perf/ui/browsers/annotate.c
+++ b/tools/perf/ui/browsers/annotate.c
@@ -838,6 +838,10 @@ int map_symbol__tui_annotate(struct map_symbol *ms, struct perf_evsel *evsel,
int hist_entry__tui_annotate(struct hist_entry *he, struct perf_evsel *evsel,
struct hist_browser_timer *hbt)
{
+ /* reset abort key so that it can get Ctrl-C as a key */
+ SLang_reset_tty();
+ SLang_init_tty(0, 0, 0);
+
return map_symbol__tui_annotate(&he->ms, evsel, hbt);
}
diff --git a/tools/perf/ui/browsers/hists.c b/tools/perf/ui/browsers/hists.c
index f981cb8f0158..e64893f2fd7f 100644
--- a/tools/perf/ui/browsers/hists.c
+++ b/tools/perf/ui/browsers/hists.c
@@ -1741,6 +1741,10 @@ static int perf_evsel__hists_browse(struct perf_evsel *evsel, int nr_events,
if (browser == NULL)
return -1;
+ /* reset abort key so that it can get Ctrl-C as a key */
+ SLang_reset_tty();
+ SLang_init_tty(0, 0, 0);
+
if (min_pcnt) {
browser->min_pcnt = min_pcnt;
hist_browser__update_nr_entries(browser);
diff --git a/tools/perf/ui/tui/setup.c b/tools/perf/ui/tui/setup.c
index b77e1d771363..60d1f29b4b50 100644
--- a/tools/perf/ui/tui/setup.c
+++ b/tools/perf/ui/tui/setup.c
@@ -129,7 +129,7 @@ int ui__init(void)
err = SLsmg_init_smg();
if (err < 0)
goto out;
- err = SLang_init_tty(0, 0, 0);
+ err = SLang_init_tty(-1, 0, 0);
if (err < 0)
goto out;
--
2.1.0
next prev parent reply other threads:[~2015-05-29 16:33 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-05-29 16:30 [GIT PULL 00/14] perf/core improvements and fixes Arnaldo Carvalho de Melo
2015-05-29 16:30 ` [PATCH 01/14] perf annotate: Fix -i option, which is currently ignored Arnaldo Carvalho de Melo
2015-05-29 16:30 ` [PATCH 02/14] perf probe: Fix 'function unused' warning Arnaldo Carvalho de Melo
2015-05-29 16:30 ` [PATCH 03/14] perf db-export: Fix thread ref-counting Arnaldo Carvalho de Melo
2015-05-29 16:30 ` [PATCH 04/14] perf kmem: Fix compiler warning about may be accessing uninitialized variable Arnaldo Carvalho de Melo
2015-05-29 16:30 ` [PATCH 05/14] perf tools: Add ARM64 perf_regs_load to support libunwind and enable testing Arnaldo Carvalho de Melo
2015-05-29 16:30 ` [PATCH 06/14] perf tests: Switch from open to openat Arnaldo Carvalho de Melo
2015-05-29 16:30 ` [PATCH 07/14] perf tests: Aename open*.c to openat*.c Arnaldo Carvalho de Melo
2015-05-29 16:30 ` [PATCH 08/14] perf tests: Remove getpgrp from mmap-basic Arnaldo Carvalho de Melo
2015-05-29 16:30 ` [PATCH 09/14] perf machine: Adopt findnew_kernel method Arnaldo Carvalho de Melo
2015-05-29 16:30 ` [PATCH 10/14] perf machine: No need to have two DSOs lists Arnaldo Carvalho de Melo
2015-05-29 16:30 ` [PATCH 11/14] perf machine: Introduce machine__findnew_dso() method Arnaldo Carvalho de Melo
2015-05-29 16:30 ` [PATCH 12/14] perf machine: Fix up vdso methods names Arnaldo Carvalho de Melo
2015-05-29 16:30 ` [PATCH 13/14] perf build: Do not fail on missing Build file Arnaldo Carvalho de Melo
2015-05-29 16:30 ` Arnaldo Carvalho de Melo [this message]
2015-05-29 18:20 ` [GIT PULL 00/14] perf/core improvements and fixes Ingo Molnar
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1432917024-3899-15-git-send-email-acme@kernel.org \
--to=acme@kernel.org \
--cc=a.p.zijlstra@chello.nl \
--cc=acme@redhat.com \
--cc=dsahern@gmail.com \
--cc=jolsa@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=namhyung@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).