lkml.org 
[lkml]   [2016]   [Jan]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH 3/7] perf callchain: Add enum match_result for match_chain()
    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;

    \
     
     \ /
      Last update: 2016-01-24 05:21    [W:3.205 / U:0.072 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site