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


Groups > linux.kernel > #1281763

[PATCH 2/2] perf hists browser: Reset selection when refresh

Path csiph.com!news.mixmin.net!weretis.net!feeder1.news.weretis.net!newsfeed.CARNet.hr!news.spin.it!bofh.it!news.nic.it!robomod
From Wang Nan <wangnan0@huawei.com>
Newsgroups linux.kernel
Subject [PATCH 2/2] perf hists browser: Reset selection when refresh
Date Wed, 02 Dec 2015 14:00:03 +0100
Message-ID <qBfaP-7ik-41@gated-at.bofh.it> (permalink)
References <qBfaO-7ik-13@gated-at.bofh.it>
X-Original-To <acme@kernel.org>, <namhyung@kernel.org>
X-Mailer git-send-email 1.8.3.4
MIME-Version 1.0
Content-Type text/plain
X-Originating-IP [10.107.193.248]
X-Cfilter-Loop Reflected
X-Mirapoint-Virus-Rapid-Raw score=unknown(0), refid=str=0001.0A020204.565EE963.00A5,ss=1,re=0.000,recu=0.000,reip=0.000,cl=1,cld=1,fgs=0, ip=0.0.0.0, so=2013-05-26 15:14:31, dmn=2013-03-21 17:37:32
X-Mirapoint-Loop-ID 7875e1f6a4353e6fbfb346e7fcd9f45c
Sender robomod@news.nic.it
List-ID <linux-kernel.vger.kernel.org>
X-Mailing-List linux-kernel@vger.kernel.org
Approved robomod@news.nic.it
Lines 70
Organization linux.* mail to news gateway
X-Original-Cc <lizefan@huawei.com>, <pi3orama@163.com>, <linux-kernel@vger.kernel.org>, Wang Nan <wangnan0@huawei.com>, Arnaldo Carvalho de Melo <acme@redhat.com>
X-Original-Date Wed, 2 Dec 2015 12:51:33 +0000
X-Original-Message-ID <1449060693-236232-2-git-send-email-wangnan0@huawei.com>
X-Original-References <1449060693-236232-1-git-send-email-wangnan0@huawei.com>
X-Original-Sender linux-kernel-owner@vger.kernel.org
Xref csiph.com linux.kernel:1281763

Show key headers only | View raw


With following steps:

 Step 1: perf report

 Step 2: Use UP/DOWN to select an entry, don't press 'ENTER'

 Step 3: Use '/' to filter symbols, use a filter which returns
         empty result

 Step 4: Press 'ENTER'

We see that, even if we have filter all symbols (and the main interface
is empty), pressing 'ENTER' still select one symbol. This behavior
surprise user. This patch resets browser->selection in
hist_browser__refresh() and let it choose default selection. In this
case browser->selection keeps NULL so user won't see annotation item
in menu.

Signed-off-by: Wang Nan <wangnan0@huawei.com>
Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Namhyung Kim <namhyung@kernel.org>
---

Note that if this patch is applied before 1/2 then the steps listed in
commit message in 1/2 won't trigger segfault. However I believe patch 1/1
is still required.

---
 tools/perf/ui/browsers/hists.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/tools/perf/ui/browsers/hists.c b/tools/perf/ui/browsers/hists.c
index 9458da8..523a9ef 100644
--- a/tools/perf/ui/browsers/hists.c
+++ b/tools/perf/ui/browsers/hists.c
@@ -1192,6 +1192,7 @@ static unsigned int hist_browser__refresh(struct ui_browser *browser)
 	}
 
 	ui_browser__hists_init_top(browser);
+	hb->selection = NULL;
 
 	for (nd = browser->top; nd; nd = rb_next(nd)) {
 		struct hist_entry *h = rb_entry(nd, struct hist_entry, rb_node);
@@ -2102,7 +2103,7 @@ static int perf_evsel__hists_browse(struct perf_evsel *evsel, int nr_events,
 
 		if (browser->he_selection != NULL) {
 			thread = hist_browser__selected_thread(browser);
-			map = browser->selection->map;
+			map = browser->selection ? browser->selection->map : NULL;
 			socked_id = browser->he_selection->socket;
 		}
 		switch (key) {
@@ -2321,7 +2322,8 @@ skip_annotation:
 			nr_options += add_script_opt(browser,
 						     &actions[nr_options],
 						     &options[nr_options],
-						     NULL, browser->selection->sym);
+						     NULL, browser->selection ?
+						     		browser->selection->sym : NULL);
 		}
 		nr_options += add_script_opt(browser, &actions[nr_options],
 					     &options[nr_options], NULL, NULL);
-- 
1.8.3.4

--
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

[PATCH 1/2] perf hists browser: Add NULL pointer check to prevent crash Wang Nan <wangnan0@huawei.com> - 2015-12-02 14:00 +0100
  [PATCH 2/2] perf hists browser: Reset selection when refresh Wang Nan <wangnan0@huawei.com> - 2015-12-02 14:00 +0100
    Re: [PATCH 2/2] perf hists browser: Reset selection when refresh Namhyung Kim <namhyung@kernel.org> - 2015-12-02 17:20 +0100
      Re: [PATCH 2/2] perf hists browser: Reset selection when refresh "Wangnan (F)" <wangnan0@huawei.com> - 2015-12-03 04:20 +0100
        Re: [PATCH 2/2] perf hists browser: Reset selection when refresh Namhyung Kim <namhyung@kernel.org> - 2015-12-04 14:00 +0100
  Re: [PATCH 1/2] perf hists browser: Add NULL pointer check to  prevent crash Namhyung Kim <namhyung@kernel.org> - 2015-12-02 17:10 +0100
    Re: [PATCH 1/2] perf hists browser: Add NULL pointer check to prevent  crash "Wangnan (F)" <wangnan0@huawei.com> - 2015-12-03 03:40 +0100

csiph-web