Re: [patch V2 20/29] tracing: Simplify stacktrace retrieval in histograms

From: Tom Zanussi
Date: Thu Apr 18 2019 - 15:59:04 EST


On Thu, 2019-04-18 at 09:40 -0400, Steven Rostedt wrote:
> [ Added Tom Zanussi ]
>
> On Thu, 18 Apr 2019 10:41:39 +0200
> Thomas Gleixner <tglx@xxxxxxxxxxxxx> wrote:
>
> > The indirection through struct stack_trace is not necessary at all.
> > Use the
> > storage array based interface.
> >
> > Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
> > Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
>
> Looks fine to me
>
> Acked-by: Steven Rostedt (VMware) <rostedt@xxxxxxxxxxx>
>
> But...
>
> Tom,
>
> Can you review this too?

Looks good to me too!

Acked-by: Tom Zanussi <tom.zanussi@xxxxxxxxxxxxxxx>


>
> Patch series starts here:
>
> http://lkml.kernel.org/r/20190418084119.056416939@xxxxxxxxxxxxx
>
> Thanks,
>
> -- Steve
>
> > ---
> > kernel/trace/trace_events_hist.c | 12 +++---------
> > 1 file changed, 3 insertions(+), 9 deletions(-)
> >
> > --- a/kernel/trace/trace_events_hist.c
> > +++ b/kernel/trace/trace_events_hist.c
> > @@ -5186,7 +5186,6 @@ static void event_hist_trigger(struct ev
> > u64 var_ref_vals[TRACING_MAP_VARS_MAX];
> > char compound_key[HIST_KEY_SIZE_MAX];
> > struct tracing_map_elt *elt = NULL;
> > - struct stack_trace stacktrace;
> > struct hist_field *key_field;
> > u64 field_contents;
> > void *key = NULL;
> > @@ -5198,14 +5197,9 @@ static void event_hist_trigger(struct ev
> > key_field = hist_data->fields[i];
> >
> > if (key_field->flags & HIST_FIELD_FL_STACKTRACE) {
> > - stacktrace.max_entries = HIST_STACKTRACE_DEPTH;
> > - stacktrace.entries = entries;
> > - stacktrace.nr_entries = 0;
> > - stacktrace.skip = HIST_STACKTRACE_SKIP;
> > -
> > - memset(stacktrace.entries, 0,
> > HIST_STACKTRACE_SIZE);
> > - save_stack_trace(&stacktrace);
> > -
> > + memset(entries, 0, HIST_STACKTRACE_SIZE);
> > + stack_trace_save(entries,
> > HIST_STACKTRACE_DEPTH,
> > + HIST_STACKTRACE_SKIP);
> > key = entries;
> > } else {
> > field_contents = key_field->fn(key_field, elt,
> > rbe, rec);
> >
>
>