Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1213153

[PATCH 03/16] perf ui tui progress: Implement the ui_progress_ops->finish() method

From Arnaldo Carvalho de Melo <acme@kernel.org>
Newsgroups linux.kernel
Subject [PATCH 03/16] perf ui tui progress: Implement the ui_progress_ops->finish() method
Date 2015-08-25 18:20 +0200
Message-ID <q1p75-3gB-49@gated-at.bofh.it> (permalink)
References <q1p73-3gB-5@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


From: Arnaldo Carvalho de Melo <acme@redhat.com>

So that we can erase the progress bar after we're done with it, avoiding
things like:

-------------------------------------------------------------------

          ┌─Error:──────────────────────────────────────────────────────┐
          │Can't annotate unmapped_area_topdown:                        │
          │                                                             │
          │No vmlinux file with build id a826726b5ddacfab1f0bade868f1a79│
          │was found in the path.                                       │
          │                                                             │
          │Note that annotation using /proc/kcore requires CAP_SYS_RAWIO│
┌Processin│                                                             │──┐
│         │Please use:                                                  │  │
└─────────│                                                             │──┘
          │  perf buildid-cache -vu vmlinux                             │
          │                                                             │
          │or:                                                          │
          │                                                             │
          │  --vmlinux vmlinux                                          │
          │                                                             │
          │                                                             │
          │Press any key...                                             │
          └─────────────────────────────────────────────────────────────┘

Can't annotate unmapped_area_topdown:
-------------------------------------------------------------------

I.e. that finished progress bar behind the error window. It is not a
problem when we end up redrawing the whole screen, but its ugly when
we present such error windows, provide a TUI method so that code like
the above may avoid this situation, as will be done with the annotation
code in the next cset.

Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Borislav Petkov <bp@suse.de>
Cc: David Ahern <dsahern@gmail.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Stephane Eranian <eranian@google.com>
Link: http://lkml.kernel.org/n/tip-qvktnojzwwe37pweging058t@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
 tools/perf/ui/tui/progress.c | 19 ++++++++++++++++++-
 1 file changed, 18 insertions(+), 1 deletion(-)

diff --git a/tools/perf/ui/tui/progress.c b/tools/perf/ui/tui/progress.c
index c61d14b101e0..c4b99008e2c9 100644
--- a/tools/perf/ui/tui/progress.c
+++ b/tools/perf/ui/tui/progress.c
@@ -33,9 +33,26 @@ static void tui_progress__update(struct ui_progress *p)
 	pthread_mutex_unlock(&ui__lock);
 }
 
+static void tui_progress__finish(void)
+{
+	int y;
+
+	if (use_browser <= 0)
+		return;
+
+	ui__refresh_dimensions(false);
+	pthread_mutex_lock(&ui__lock);
+	y = SLtt_Screen_Rows / 2 - 2;
+	SLsmg_set_color(0);
+	SLsmg_fill_region(y, 0, 3, SLtt_Screen_Cols, ' ');
+	SLsmg_refresh();
+	pthread_mutex_unlock(&ui__lock);
+}
+
 static struct ui_progress_ops tui_progress__ops =
 {
-	.update		= tui_progress__update,
+	.update = tui_progress__update,
+	.finish = tui_progress__finish,
 };
 
 void tui_progress__init(void)
-- 
2.1.0

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[GIT PULL 00/16] perf/core improvements and fixes Arnaldo Carvalho de Melo <acme@kernel.org> - 2015-08-25 18:20 +0200
  [PATCH 01/16] perf tools: Fix tarball build broken by pt/bts Arnaldo Carvalho de Melo <acme@kernel.org> - 2015-08-25 18:20 +0200
  [PATCH 06/16] perf tools: Add Intel PT support for PSB periods Arnaldo Carvalho de Melo <acme@kernel.org> - 2015-08-25 18:20 +0200
  [PATCH 04/16] perf ordered_events: Clear the progress bar at the end of a flush Arnaldo Carvalho de Melo <acme@kernel.org> - 2015-08-25 18:20 +0200
  [PATCH 02/16] perf annotate: Reset the dso find_symbol cache when removing symbols Arnaldo Carvalho de Melo <acme@kernel.org> - 2015-08-25 18:20 +0200
  [PATCH 16/16] perf probe: Support probing at absolute addresses Arnaldo Carvalho de Melo <acme@kernel.org> - 2015-08-25 18:20 +0200
    RE: [PATCH 16/16] perf probe: Support probing at absolute  addresses 平松雅巳 / HIRAMATU,MASAMI   <masami.hiramatsu.pt@hitachi.com> - 2015-08-26 02:10 +0200
      Re: [PATCH 16/16] perf probe: Support probing at absolute addresses Arnaldo Carvalho de Melo <acme@kernel.org> - 2015-08-26 15:00 +0200
  [PATCH 14/16] perf tools: Update Intel PT documentation Arnaldo Carvalho de Melo <acme@kernel.org> - 2015-08-25 18:20 +0200
  [PATCH 12/16] perf tools: Add Intel PT support for using CYC packets Arnaldo Carvalho de Melo <acme@kernel.org> - 2015-08-25 18:20 +0200
  [PATCH 09/16] perf tools: Add Intel PT support for decoding MTC packets Arnaldo Carvalho de Melo <acme@kernel.org> - 2015-08-25 18:20 +0200
  [PATCH 07/16] perf tools: Add new Intel PT packet definitions Arnaldo Carvalho de Melo <acme@kernel.org> - 2015-08-25 18:20 +0200
  [PATCH 10/16] perf tools: Add Intel PT support for using MTC packets Arnaldo Carvalho de Melo <acme@kernel.org> - 2015-08-25 18:20 +0200
  [PATCH 03/16] perf ui tui progress: Implement the ui_progress_ops->finish() method Arnaldo Carvalho de Melo <acme@kernel.org> - 2015-08-25 18:20 +0200
  Re: [GIT PULL 00/16] perf/core improvements and fixes Arnaldo Carvalho de Melo <acme@kernel.org> - 2015-08-26 15:40 +0200

csiph-web