From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753989AbcAXEGQ (ORCPT ); Sat, 23 Jan 2016 23:06:16 -0500 Received: from mail-pa0-f66.google.com ([209.85.220.66]:33171 "EHLO mail-pa0-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753311AbcAXEGM (ORCPT ); Sat, 23 Jan 2016 23:06:12 -0500 Date: Sun, 24 Jan 2016 13:05:11 +0900 From: Namhyung Kim To: Jiri Olsa Cc: Arnaldo Carvalho de Melo , Ingo Molnar , Peter Zijlstra , Jiri Olsa , LKML , David Ahern , Frederic Weisbecker Subject: Re: [PATCH 3/7] perf callchain: Add enum match_result for match_chain() Message-ID: <20160124040511.GA9810@danjae.kornet> References: <1453470100-8637-1-git-send-email-namhyung@kernel.org> <1453470100-8637-4-git-send-email-namhyung@kernel.org> <20160123170110.GA4675@krava.local> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20160123170110.GA4675@krava.local> User-Agent: Mutt/1.5.24 (2015-08-30) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Jiri, On Sat, Jan 23, 2016 at 06:01:10PM +0100, Jiri Olsa wrote: > On Fri, Jan 22, 2016 at 10:41:36PM +0900, Namhyung Kim wrote: > > SNIP > > > /* lookup in childrens */ > > while (*p) { > > - s64 ret; > > + enum match_result ret; > > > > parent = *p; > > rnode = rb_entry(parent, struct callchain_node, rb_node_in); > > > > /* If at least first entry matches, rely to children */ > > ret = append_chain(rnode, cursor, period); > > - if (ret == 0) > > + if (ret == MATCH_EQ) > > goto inc_children_hit; > > > > - if (ret < 0) > > + if (ret == MATCH_LT) > > p = &parent->rb_left; > > else > > p = &parent->rb_right; > > so if we want to use the return values like that you > probably missed 2 other places Right! > > > --- > diff --git a/tools/perf/util/callchain.c b/tools/perf/util/callchain.c > index 7139d438ee6d..dc08e76aa8d9 100644 > --- a/tools/perf/util/callchain.c > +++ b/tools/perf/util/callchain.c > @@ -565,7 +565,7 @@ split_add_child(struct callchain_node *parent, > cnode = list_first_entry(&first->val, struct callchain_list, > list); > > - if (match_chain(node, cnode) < 0) > + if (match_chain(node, cnode) == MATCH_LT) > pp = &p->rb_left; > else > pp = &p->rb_right; > @@ -652,7 +652,7 @@ append_chain(struct callchain_node *root, > break; > > cmp = match_chain(node, cnode); > - if (cmp) > + if (cmp != MATCH_EQ) This has same effect since I chose 0 for MATCH_EQ intentionally. But yes, it'd be better making it explicit. Will change. Thanks, Namhyung > break; > > found = true;