From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1031170AbbDWWbH (ORCPT ); Thu, 23 Apr 2015 18:31:07 -0400 Received: from mail.kernel.org ([198.145.29.136]:60676 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1030837AbbDWWbD (ORCPT ); Thu, 23 Apr 2015 18:31:03 -0400 Date: Thu, 23 Apr 2015 19:30:58 -0300 From: Arnaldo Carvalho de Melo To: Namhyung Kim Cc: Ingo Molnar , Peter Zijlstra , Jiri Olsa , LKML , David Ahern Subject: Re: [PATCH 09/10] perf hists browser: Simplify zooming code a bit Message-ID: <20150423223058.GJ7881@kernel.org> References: <1429687101-4360-1-git-send-email-namhyung@kernel.org> <1429687101-4360-10-git-send-email-namhyung@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1429687101-4360-10-git-send-email-namhyung@kernel.org> X-Url: http://acmel.wordpress.com User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Em Wed, Apr 22, 2015 at 04:18:20PM +0900, Namhyung Kim escreveu: > Introduce pstack_peek() and reuse do_zoom_dso/thread() function. Please break this patch into two, one introducing pstack__peek, then making use of it, I thought I said this about another patch like this today :-) Yeah, to Masami, this one: [PATCH perf/core v2 3/8] perf probe: Accept multiple filter options - Arnaldo > Signed-off-by: Namhyung Kim > --- > tools/perf/ui/browsers/hists.c | 18 +++++------------- > tools/perf/util/pstack.c | 7 +++++++ > tools/perf/util/pstack.h | 1 + > 3 files changed, 13 insertions(+), 13 deletions(-) > > diff --git a/tools/perf/ui/browsers/hists.c b/tools/perf/ui/browsers/hists.c > index 9bd7b38de64c..a0da3f9f0513 100644 > --- a/tools/perf/ui/browsers/hists.c > +++ b/tools/perf/ui/browsers/hists.c > @@ -1860,19 +1860,11 @@ static int perf_evsel__hists_browse(struct perf_evsel *evsel, int nr_events, > goto out_free_stack; > continue; > } > - top = pstack__pop(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); > - } > - ui_helpline__pop(); > - hist_browser__reset(browser); > + top = pstack__peek(browser->pstack); > + if (top == &browser->hists->dso_filter) > + do_zoom_dso(browser, actions); > + if (top == &browser->hists->thread_filter) > + do_zoom_thread(browser, actions); > continue; > } > case K_ESC: > diff --git a/tools/perf/util/pstack.c b/tools/perf/util/pstack.c > index a126e6cc6e73..b234a6e3d0d4 100644 > --- a/tools/perf/util/pstack.c > +++ b/tools/perf/util/pstack.c > @@ -74,3 +74,10 @@ void *pstack__pop(struct pstack *pstack) > pstack->entries[pstack->top] = NULL; > return ret; > } > + > +void *pstack__peek(struct pstack *pstack) > +{ > + if (pstack->top == 0) > + return NULL; > + return pstack->entries[pstack->top - 1]; > +} > diff --git a/tools/perf/util/pstack.h b/tools/perf/util/pstack.h > index c3cb6584d527..ded7f2e36624 100644 > --- a/tools/perf/util/pstack.h > +++ b/tools/perf/util/pstack.h > @@ -10,5 +10,6 @@ bool pstack__empty(const struct pstack *pstack); > void pstack__remove(struct pstack *pstack, void *key); > void pstack__push(struct pstack *pstack, void *key); > void *pstack__pop(struct pstack *pstack); > +void *pstack__peek(struct pstack *pstack); > > #endif /* _PERF_PSTACK_ */ > -- > 2.3.5