linux-perf-users.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Arnaldo Carvalho de Melo <acme@kernel.org>
To: Ingo Molnar <mingo@kernel.org>
Cc: Clark Williams <williams@redhat.com>,
	linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org,
	Arnaldo Carvalho de Melo <acme@redhat.com>,
	Adrian Hunter <adrian.hunter@intel.com>,
	Andi Kleen <ak@linux.intel.com>, David Ahern <dsahern@gmail.com>,
	Jin Yao <yao.jin@linux.intel.com>, Jiri Olsa <jolsa@kernel.org>,
	Namhyung Kim <namhyung@kernel.org>,
	Wang Nan <wangnan0@huawei.com>
Subject: [PATCH 09/13] perf hists browser: Remove leftover from row returned from refresh
Date: Mon,  9 Apr 2018 16:34:33 -0300	[thread overview]
Message-ID: <20180409193437.14199-10-acme@kernel.org> (raw)
In-Reply-To: <20180409193437.14199-1-acme@kernel.org>

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

The per-browser screen refresh routine (ui_browser->refresh()) should
return the first row that should be cleaned after the rows just printed,
in case not all rows available on the screen gets filled.

When moving the extra title lines logic from the hists browser to the
generic ui_browser class, one piece of that logic remained in the hists
browser and then when going back from the annotate browser to the hists
browser in a case where fewer lines were displayed in the hists browser,
for instance when filtering the entries per substring, one line of the
annotate browser would remain on the screen, fix that.

Example of the screen artifact:

================================================================================
Samples: 73K of event 'cycles:ppp', 4000 Hz, Event count (approx.): 45172901394
Overhead  Shared O  Symbol
   0.30%  [kernel]  [k] __indirect_thunk_start
   0.09%  [kernel]  [k] __x86_indirect_thunk_r10
       │      lfence
================================================================================

Here from 'perf top' the view was zoomed with '/thunk' to functions
having that substring, then the first was annotated and from the
annotate browser ESC was pressed, then the first lines were overwritten,
but the 'lfence' line remained due to the off by one bug fixed in this
cset.

Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Jin Yao <yao.jin@linux.intel.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Wang Nan <wangnan0@huawei.com>
Fixes: ef9ff6017e3c ("perf ui browser: Move the extra title lines from the hists browser")
Link: https://lkml.kernel.org/n/tip-odryfso74eaarm0z3e4v9owx@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
 tools/perf/ui/browsers/hists.c | 10 ++--------
 1 file changed, 2 insertions(+), 8 deletions(-)

diff --git a/tools/perf/ui/browsers/hists.c b/tools/perf/ui/browsers/hists.c
index de17e59d9952..0eec06c105c6 100644
--- a/tools/perf/ui/browsers/hists.c
+++ b/tools/perf/ui/browsers/hists.c
@@ -1744,17 +1744,11 @@ static void ui_browser__hists_init_top(struct ui_browser *browser)
 static unsigned int hist_browser__refresh(struct ui_browser *browser)
 {
 	unsigned row = 0;
-	u16 header_offset = 0;
 	struct rb_node *nd;
 	struct hist_browser *hb = container_of(browser, struct hist_browser, b);
-	struct hists *hists = hb->hists;
-
-	if (hb->show_headers) {
-		struct perf_hpp_list *hpp_list = hists->hpp_list;
 
+	if (hb->show_headers)
 		hist_browser__show_headers(hb);
-		header_offset = hpp_list->nr_header_lines;
-	}
 
 	ui_browser__hists_init_top(browser);
 	hb->he_selection = NULL;
@@ -1792,7 +1786,7 @@ static unsigned int hist_browser__refresh(struct ui_browser *browser)
 			break;
 	}
 
-	return row + header_offset;
+	return row;
 }
 
 static struct rb_node *hists__filter_entries(struct rb_node *nd,
-- 
2.14.3

  parent reply	other threads:[~2018-04-09 19:34 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-04-09 19:34 [GIT PULL 00/13] perf/urgent fixes Arnaldo Carvalho de Melo
2018-04-09 19:34 ` [PATCH 01/13] perf auxtrace: Make auxtrace_queues__add_buffer() allocate struct buffer Arnaldo Carvalho de Melo
2018-04-09 19:34 ` [PATCH 02/13] perf annotate: Show group details on the title line Arnaldo Carvalho de Melo
2018-04-09 19:34 ` [PATCH 03/13] perf annotate browser: Fixup vertical line separating metrics from instructions Arnaldo Carvalho de Melo
2018-04-09 19:34 ` [PATCH 04/13] perf ui browser: Fixup cleaning unused lines at the bottom Arnaldo Carvalho de Melo
2018-04-09 19:34 ` [PATCH 05/13] perf report: Remove duplicated 'samples' in lost samples warning Arnaldo Carvalho de Melo
2018-04-09 19:34 ` [PATCH 06/13] tools headers uapi: Synchronize i915_drm.h Arnaldo Carvalho de Melo
2018-04-09 19:34 ` [PATCH 07/13] perf auxtrace: Make auxtrace_queues__add_buffer() do CPU filtering Arnaldo Carvalho de Melo
2018-04-09 19:34 ` [PATCH 08/13] perf hists browser: Show extra_title_lines in the 'D' debug hotkey Arnaldo Carvalho de Melo
2018-04-09 19:34 ` Arnaldo Carvalho de Melo [this message]
2018-04-09 19:34 ` [PATCH 10/13] perf tools: No need to include namespaces.h in util.h Arnaldo Carvalho de Melo
2018-04-09 19:34 ` [PATCH 11/13] perf tools: Fix perf builds with clang support Arnaldo Carvalho de Melo
2018-04-09 19:34 ` [PATCH 12/13] perf clang: Add support for recent clang versions Arnaldo Carvalho de Melo
2018-04-09 19:34 ` [PATCH 13/13] perf tests clang: Fix function name for clang IR test Arnaldo Carvalho de Melo
2018-04-10  5:23 ` [GIT PULL 00/13] perf/urgent 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=20180409193437.14199-10-acme@kernel.org \
    --to=acme@kernel.org \
    --cc=acme@redhat.com \
    --cc=adrian.hunter@intel.com \
    --cc=ak@linux.intel.com \
    --cc=dsahern@gmail.com \
    --cc=jolsa@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-perf-users@vger.kernel.org \
    --cc=mingo@kernel.org \
    --cc=namhyung@kernel.org \
    --cc=wangnan0@huawei.com \
    --cc=williams@redhat.com \
    --cc=yao.jin@linux.intel.com \
    /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).