perf hists: Convert hist entry functions to use struct he_stat
The hist_entry__add_cpumode_period() and hist_entry__decay() functions are dealing with hist_entry's stat fields only. Make them he_stat methods then. Signed-off-by: Namhyung Kim <namhyung@kernel.org> Acked-by: Jiri Olsa <jolsa@redhat.com> Cc: Andi Kleen <andi@firstfloor.org> Cc: Arun Sharma <asharma@fb.com> Cc: Frederic Weisbecker <fweisbec@gmail.com> Cc: Ingo Molnar <mingo@kernel.org> Cc: Jiri Olsa <jolsa@redhat.com> Cc: Namhyung Kim <namhyung.kim@lge.com> Cc: Paul Mackerras <paulus@samba.org> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> Cc: Rodrigo Campos <rodrigo@sdfg.com.ar> Link: http://lkml.kernel.org/r/1389677157-30513-5-git-send-email-namhyung@kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
Родитель
2dc9fb1a7b
Коммит
f39056f9c3
|
@ -181,21 +181,21 @@ void hists__output_recalc_col_len(struct hists *hists, int max_rows)
|
|||
}
|
||||
}
|
||||
|
||||
static void hist_entry__add_cpumode_period(struct hist_entry *he,
|
||||
unsigned int cpumode, u64 period)
|
||||
static void he_stat__add_cpumode_period(struct he_stat *he_stat,
|
||||
unsigned int cpumode, u64 period)
|
||||
{
|
||||
switch (cpumode) {
|
||||
case PERF_RECORD_MISC_KERNEL:
|
||||
he->stat.period_sys += period;
|
||||
he_stat->period_sys += period;
|
||||
break;
|
||||
case PERF_RECORD_MISC_USER:
|
||||
he->stat.period_us += period;
|
||||
he_stat->period_us += period;
|
||||
break;
|
||||
case PERF_RECORD_MISC_GUEST_KERNEL:
|
||||
he->stat.period_guest_sys += period;
|
||||
he_stat->period_guest_sys += period;
|
||||
break;
|
||||
case PERF_RECORD_MISC_GUEST_USER:
|
||||
he->stat.period_guest_us += period;
|
||||
he_stat->period_guest_us += period;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
@ -222,10 +222,10 @@ static void he_stat__add_stat(struct he_stat *dest, struct he_stat *src)
|
|||
dest->weight += src->weight;
|
||||
}
|
||||
|
||||
static void hist_entry__decay(struct hist_entry *he)
|
||||
static void he_stat__decay(struct he_stat *he_stat)
|
||||
{
|
||||
he->stat.period = (he->stat.period * 7) / 8;
|
||||
he->stat.nr_events = (he->stat.nr_events * 7) / 8;
|
||||
he_stat->period = (he_stat->period * 7) / 8;
|
||||
he_stat->nr_events = (he_stat->nr_events * 7) / 8;
|
||||
/* XXX need decay for weight too? */
|
||||
}
|
||||
|
||||
|
@ -236,7 +236,7 @@ static bool hists__decay_entry(struct hists *hists, struct hist_entry *he)
|
|||
if (prev_period == 0)
|
||||
return true;
|
||||
|
||||
hist_entry__decay(he);
|
||||
he_stat__decay(&he->stat);
|
||||
|
||||
if (!he->filtered)
|
||||
hists->stats.total_period -= prev_period - he->stat.period;
|
||||
|
@ -402,7 +402,7 @@ static struct hist_entry *add_hist_entry(struct hists *hists,
|
|||
rb_link_node(&he->rb_node_in, parent, p);
|
||||
rb_insert_color(&he->rb_node_in, hists->entries_in);
|
||||
out:
|
||||
hist_entry__add_cpumode_period(he, al->cpumode, period);
|
||||
he_stat__add_cpumode_period(&he->stat, al->cpumode, period);
|
||||
return he;
|
||||
}
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче