Messages in this thread | | | Date | Fri, 31 Aug 2012 10:23:01 -0600 | From | David Ahern <> | Subject | Re: [PATCH] [perf] Account the nr_entries in rblist properly |
| |
On 8/31/12 1:09 AM, Suzuki K. Poulose wrote: > The nr_entries in rblist is never decremented when an element > is deleted. Also, use rblist__remove_node to delete a node in > rblist__delete(). This would keep the nr_entries sane. > > Signed-off-by: Suzuki K. Poulose <suzuki@in.ibm.com> > Cc: David S. Ahern <dsahern@gmail.com> > --- > > tools/perf/util/rblist.c | 4 ++-- > 1 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/tools/perf/util/rblist.c b/tools/perf/util/rblist.c > index 0171fb6..a16cdd2 100644 > --- a/tools/perf/util/rblist.c > +++ b/tools/perf/util/rblist.c > @@ -44,6 +44,7 @@ int rblist__add_node(struct rblist *rblist, const void *new_entry) > void rblist__remove_node(struct rblist *rblist, struct rb_node *rb_node) > { > rb_erase(rb_node, &rblist->entries); > + --rblist->nr_entries; > rblist->node_delete(rblist, rb_node); > }
nice catch.
> > @@ -87,8 +88,7 @@ void rblist__delete(struct rblist *rblist) > while (next) { > pos = next; > next = rb_next(pos); > - rb_erase(pos, &rblist->entries); > - rblist->node_delete(rblist, pos); > + rblist__remove_node(rblist, pos); > } > free(rblist); > }
Acked-by: David Ahern <dsahern@gmail.com>
| |