From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755403AbbLKLhw (ORCPT ); Fri, 11 Dec 2015 06:37:52 -0500 Received: from mail.kernel.org ([198.145.29.136]:43866 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754877AbbLKLhu (ORCPT ); Fri, 11 Dec 2015 06:37:50 -0500 Date: Fri, 11 Dec 2015 08:37:46 -0300 From: Arnaldo Carvalho de Melo To: Namhyung Kim Cc: Ingo Molnar , Peter Zijlstra , Jiri Olsa , LKML , David Ahern Subject: Re: [PATCH 4/4] perf top: Cleanup condition in perf_top__record_precise_ip() Message-ID: <20151211113746.GM17996@kernel.org> References: <1449802616-16170-1-git-send-email-namhyung@kernel.org> <1449802616-16170-4-git-send-email-namhyung@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1449802616-16170-4-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 Fri, Dec 11, 2015 at 11:56:56AM +0900, Namhyung Kim escreveu: > The 'he' cannot be NULL since it's caller hist_iter__top_callback() is > called only if iter->he is not NULL (see hist_entry_iter__add). So > setting 'sym' before the condition to simplify the code. > > Also make it clearer that the top->symbol_filter_entry check is only > meaningful on stdio mode (i.e. when use_browser is 0). > > Signed-off-by: Namhyung Kim > --- > tools/perf/builtin-top.c | 9 ++++----- > 1 file changed, 4 insertions(+), 5 deletions(-) > > diff --git a/tools/perf/builtin-top.c b/tools/perf/builtin-top.c > index f447e5531f8b..e67991eb9304 100644 > --- a/tools/perf/builtin-top.c > +++ b/tools/perf/builtin-top.c > @@ -175,15 +175,14 @@ static void perf_top__record_precise_ip(struct perf_top *top, > int counter, u64 ip) > { > struct annotation *notes; > - struct symbol *sym; > + struct symbol *sym = he->ms.sym; > int err = 0; > > - if (he == NULL || he->ms.sym == NULL || > - ((top->sym_filter_entry == NULL || > - top->sym_filter_entry->ms.sym != he->ms.sym) && use_browser != 1)) > + if (sym == NULL || (use_browser == 0 && > + (top->sym_filter_entry == NULL || > + top->sym_filter_entry->ms.sym != he->ms.sym))) Since you're simplifying this... you missed replacing he->ms.sym with sym in this last line, doing that. > return; > > - sym = he->ms.sym; > notes = symbol__annotation(sym); > > if (pthread_mutex_trylock(¬es->lock)) > -- > 2.6.4