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>
This commit is contained in:
@@ -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)
|
||||
|
Reference in New Issue
Block a user