OSDN Git Service

perf hists browser: Simplify zooming code using pstack_peek()
authorNamhyung Kim <namhyung@kernel.org>
Fri, 24 Apr 2015 01:15:33 +0000 (10:15 +0900)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Tue, 5 May 2015 21:13:23 +0000 (18:13 -0300)
Now LEFT key press action can just use do_zoom_dso/thread() code to get
out of the current filter.

Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Acked-by: Jiri Olsa <jolsa@redhat.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/r/1429838133-14001-2-git-send-email-namhyung@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/ui/browsers/hists.c

index 9bd7b38..8733d57 100644 (file)
@@ -1860,19 +1860,17 @@ static int perf_evsel__hists_browse(struct perf_evsel *evsel, int nr_events,
                                        goto out_free_stack;
                                continue;
                        }
-                       top = pstack__pop(browser->pstack);
+                       top = pstack__peek(browser->pstack);
                        if (top == &browser->hists->dso_filter) {
-                               perf_hpp__set_elide(HISTC_DSO, false);
-                               browser->hists->dso_filter = NULL;
-                               hists__filter_by_dso(browser->hists);
-                       }
-                       if (top == &browser->hists->thread_filter) {
-                               perf_hpp__set_elide(HISTC_THREAD, false);
-                               thread__zput(browser->hists->thread_filter);
-                               hists__filter_by_thread(browser->hists);
+                               /*
+                                * No need to set actions->dso here since
+                                * it's just to remove the current filter.
+                                * Ditto for thread below.
+                                */
+                               do_zoom_dso(browser, actions);
                        }
-                       ui_helpline__pop();
-                       hist_browser__reset(browser);
+                       if (top == &browser->hists->thread_filter)
+                               do_zoom_thread(browser, actions);
                        continue;
                }
                case K_ESC: