aboutsummaryrefslogtreecommitdiffstats
path: root/tools/perf/builtin-diff.c
diff options
context:
space:
mode:
authorArnaldo Carvalho de Melo <acme@redhat.com>2010-05-09 13:02:23 -0300
committerArnaldo Carvalho de Melo <acme@redhat.com>2010-05-09 13:10:39 -0300
commit28e2a106d16046ca792722795f809e3f80a5af80 (patch)
treec84149ddf45d02044187fe4511cead93d009b6ee /tools/perf/builtin-diff.c
parent39d1e1b1e26dc84d40bf2792287d0d61e44b57df (diff)
downloadmrst-s0i3-test-28e2a106d16046ca792722795f809e3f80a5af80.tar.gz
mrst-s0i3-test-28e2a106d16046ca792722795f809e3f80a5af80.tar.xz
mrst-s0i3-test-28e2a106d16046ca792722795f809e3f80a5af80.zip
perf hist: Simplify the insertion of new hist_entry instances
And with that fix at least one bug: The first hit for an entry, the one that calls malloc to create a new instance in __perf_session__add_hist_entry, wasn't adding the count to the per cpumode (PERF_RECORD_MISC_USER, etc) total variable. Cc: Frédéric Weisbecker <fweisbec@gmail.com> Cc: Mike Galbraith <efault@gmx.de> Cc: Paul Mackerras <paulus@samba.org> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> Cc: Tom Zanussi <tzanussi@gmail.com> LKML-Reference: <new-submission> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/perf/builtin-diff.c')
-rw-r--r--tools/perf/builtin-diff.c14
1 files changed, 3 insertions, 11 deletions
diff --git a/tools/perf/builtin-diff.c b/tools/perf/builtin-diff.c
index 4cce68f2368..613a5c4f6d8 100644
--- a/tools/perf/builtin-diff.c
+++ b/tools/perf/builtin-diff.c
@@ -25,17 +25,9 @@ static bool show_displacement;
static int perf_session__add_hist_entry(struct perf_session *self,
struct addr_location *al, u64 count)
{
- bool hit;
- struct hist_entry *he = __perf_session__add_hist_entry(&self->hists,
- al, NULL,
- count, &hit);
- if (he == NULL)
- return -ENOMEM;
-
- if (hit)
- __perf_session__add_count(he, al, count);
-
- return 0;
+ if (__perf_session__add_hist_entry(&self->hists, al, NULL, count) != NULL)
+ return 0;
+ return -ENOMEM;
}
static int diff__process_sample_event(event_t *event, struct perf_session *session)