[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20140522100404.GB4789@krava.brq.redhat.com>
Date: Thu, 22 May 2014 12:04:04 +0200
From: Jiri Olsa <jolsa@...hat.com>
To: Sukadev Bhattiprolu <sukadev@...ux.vnet.ibm.com>
Cc: Arnaldo Carvalho de Melo <acme@...nel.org>,
Maynard Johnson <mpjohn@...ibm.com>, Ulrich.Weigand@...ibm.com,
Anton Blanchard <anton@....ibm.com>, linuxppc-dev@...abs.org,
linux-kernel@...r.kernel.org, michael@...erman.id.au
Subject: Re: [PATCH 1/1] powerpc/perf: Adjust callchain based on DWARF debug
On Tue, May 20, 2014 at 06:26:44PM -0700, Sukadev Bhattiprolu wrote:
SNIP
> + * TODO:
> + * Rather than returning an index into the callchain and have the
> + * caller skip that entry, we could modify the callchain in-place
> + * by putting a PERF_CONTEXT_IGNORE marker in the affected entry.
> + *
> + * But @chain points to read-only mmap, so the caller needs to
> + * duplicate the callchain to modify in-place - something like:
> + *
> + * new_callchain = arch_duplicate_callchain();
> + * arch_adjust_callchain(new_callchain);
> + * ...
> + * arch_free_callchain(new_callchain);
> + *
> + * Since we only expect to adjust <= 1 entry for now, just return
> + * the index.
> + */
> +int arch_adjust_callchain(struct machine *machine, struct thread *thread,
> + struct ip_callchain *chain)
> +{
so in case we dont do the real adjusting of the callchain (see the other email)
and just returning the index, I think we should rename this accordingly,
so it's not confusing.. arch_callchain_skip_idx ? ;-)
SNIP
> --- a/tools/perf/util/callchain.h
> +++ b/tools/perf/util/callchain.h
> @@ -165,4 +165,16 @@ int hist_entry__append_callchain(struct hist_entry *he, struct perf_sample *samp
>
> extern const char record_callchain_help[];
> int parse_callchain_report_opt(const char *arg);
> +
> +#ifdef HAVE_ADJUST_CALLCHAIN
> +extern int arch_adjust_callchain(struct machine *machine,
> + struct thread *thread, struct ip_callchain *chain);
> +#else
> +static inline int arch_adjust_callchain(struct machine *machine,
> + struct thread *thread, struct ip_callchain *chain)
this needs 'maybe_unused' attribute at each parameter, otherwise
it won't compile for arch != ppc
thanks,
jirka
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists