All of lore.kernel.org
 help / color / mirror / Atom feed
From: Arnaldo Carvalho de Melo <acme@kernel.org>
To: "Naveen N. Rao" <naveen.n.rao@linux.vnet.ibm.com>
Cc: linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org
Subject: Re: [RFC PATCH 8/8] perf probe powerpc: Fixup function entry if using kallsyms lookup
Date: Tue, 9 Dec 2014 18:14:00 -0300	[thread overview]
Message-ID: <20141209211400.GB8788@kernel.org> (raw)
In-Reply-To: <e5bfde8d51546041e50699c4ed3bad8c3c1bf84f.1418146300.git.naveen.n.rao@linux.vnet.ibm.com>

Em Tue, Dec 09, 2014 at 11:04:06PM +0530, Naveen N. Rao escreveu:
> On powerpc ABIv2, if no debug-info is found and we use kallsyms,
> we need to fixup the function entry to point to the local entry point.
> Use offset of 8 since current toolchains always generate 2
> instructions (8 bytes).

Hi Michael and Ananth, may I have your Acked-by or Reviewed-by for these
patches?

The ones, like this, that are affects only ppc I'm can assume was tested
and applying it won't break other arch users, but having a/rev-by from
ppc developers should speed up this process.

Thanks,

- Arnaldo
 
> Signed-off-by: Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>
> ---
>  tools/perf/util/probe-event.c | 9 +++++++++
>  1 file changed, 9 insertions(+)
> 
> diff --git a/tools/perf/util/probe-event.c b/tools/perf/util/probe-event.c
> index adcdbd2..0970e2a 100644
> --- a/tools/perf/util/probe-event.c
> +++ b/tools/perf/util/probe-event.c
> @@ -2318,6 +2318,15 @@ static int find_probe_trace_events_from_map(struct perf_probe_event *pev,
>  		}
>  		/* Add one probe point */
>  		tp->address = map->unmap_ip(map, sym->start) + pp->offset;
> +#if defined(__powerpc64__) && defined(_CALL_ELF) && _CALL_ELF == 2
> +		/*
> +		 * If we used kallsyms, we should fixup the function entry address here.
> +		 * ppc64le ABIv2 local entry point is currently always 2 instructions (8 bytes)
> +		 * after the global entry point. Fix this if it ever changes.
> +		 */
> +		if (!pev->uprobes && map->dso->symtab_type == DSO_BINARY_TYPE__KALLSYMS)
> +			tp->address += 8;
> +#endif
>  		if (reloc_sym) {
>  			tp->symbol = strdup_or_goto(reloc_sym->name, nomem_out);
>  			tp->offset = tp->address - reloc_sym->addr;
> -- 
> 2.1.3

WARNING: multiple messages have this Message-ID (diff)
From: Arnaldo Carvalho de Melo <acme@kernel.org>
To: "Naveen N. Rao" <naveen.n.rao@linux.vnet.ibm.com>
Cc: linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org,
	mpe@ellerman.id.au, ananth@in.ibm.com
Subject: Re: [RFC PATCH 8/8] perf probe powerpc: Fixup function entry if using kallsyms lookup
Date: Tue, 9 Dec 2014 18:14:00 -0300	[thread overview]
Message-ID: <20141209211400.GB8788@kernel.org> (raw)
In-Reply-To: <e5bfde8d51546041e50699c4ed3bad8c3c1bf84f.1418146300.git.naveen.n.rao@linux.vnet.ibm.com>

Em Tue, Dec 09, 2014 at 11:04:06PM +0530, Naveen N. Rao escreveu:
> On powerpc ABIv2, if no debug-info is found and we use kallsyms,
> we need to fixup the function entry to point to the local entry point.
> Use offset of 8 since current toolchains always generate 2
> instructions (8 bytes).

Hi Michael and Ananth, may I have your Acked-by or Reviewed-by for these
patches?

The ones, like this, that are affects only ppc I'm can assume was tested
and applying it won't break other arch users, but having a/rev-by from
ppc developers should speed up this process.

Thanks,

- Arnaldo
 
> Signed-off-by: Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>
> ---
>  tools/perf/util/probe-event.c | 9 +++++++++
>  1 file changed, 9 insertions(+)
> 
> diff --git a/tools/perf/util/probe-event.c b/tools/perf/util/probe-event.c
> index adcdbd2..0970e2a 100644
> --- a/tools/perf/util/probe-event.c
> +++ b/tools/perf/util/probe-event.c
> @@ -2318,6 +2318,15 @@ static int find_probe_trace_events_from_map(struct perf_probe_event *pev,
>  		}
>  		/* Add one probe point */
>  		tp->address = map->unmap_ip(map, sym->start) + pp->offset;
> +#if defined(__powerpc64__) && defined(_CALL_ELF) && _CALL_ELF == 2
> +		/*
> +		 * If we used kallsyms, we should fixup the function entry address here.
> +		 * ppc64le ABIv2 local entry point is currently always 2 instructions (8 bytes)
> +		 * after the global entry point. Fix this if it ever changes.
> +		 */
> +		if (!pev->uprobes && map->dso->symtab_type == DSO_BINARY_TYPE__KALLSYMS)
> +			tp->address += 8;
> +#endif
>  		if (reloc_sym) {
>  			tp->symbol = strdup_or_goto(reloc_sym->name, nomem_out);
>  			tp->offset = tp->address - reloc_sym->addr;
> -- 
> 2.1.3

  reply	other threads:[~2014-12-09 21:14 UTC|newest]

Thread overview: 58+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-12-09 17:33 [RFC PATCH 0/8] Fix perf probe issues on powerpc Naveen N. Rao
2014-12-09 17:33 ` Naveen N. Rao
2014-12-09 17:33 ` [RFC PATCH 1/8] kprobes: Fix kallsyms lookup across powerpc ABIv1 and ABIv2 Naveen N. Rao
2014-12-09 17:33   ` Naveen N. Rao
2014-12-10  9:37   ` Michael Ellerman
2014-12-10  9:37     ` Michael Ellerman
2014-12-10 10:26     ` Naveen N. Rao
2014-12-10 10:26       ` Naveen N. Rao
2014-12-09 17:34 ` [RFC PATCH 2/8] perf probe powerpc: Fix symbol fixup issues due to ELF type Naveen N. Rao
2014-12-09 17:34   ` Naveen N. Rao
2014-12-09 21:07   ` Arnaldo Carvalho de Melo
2014-12-09 21:07     ` Arnaldo Carvalho de Melo
2014-12-10  9:35     ` Naveen N. Rao
2014-12-10  9:35       ` Naveen N. Rao
2014-12-10  9:50   ` Michael Ellerman
2014-12-10  9:50     ` Michael Ellerman
2014-12-10 10:41     ` Naveen N. Rao
2014-12-10 10:41       ` Naveen N. Rao
2014-12-09 17:34 ` [RFC PATCH 3/8] perf probe: Improve detection of file/function name in the probe pattern Naveen N. Rao
2014-12-09 17:34   ` Naveen N. Rao
2014-12-10 10:00   ` Michael Ellerman
2014-12-10 10:00     ` Michael Ellerman
2014-12-10 10:59     ` Naveen N. Rao
2014-12-10 10:59       ` Naveen N. Rao
2014-12-10 11:12       ` Michael Ellerman
2014-12-10 11:12         ` Michael Ellerman
2014-12-09 17:34 ` [RFC PATCH 4/8] perf probe powerpc: Handle powerpc dot symbols Naveen N. Rao
2014-12-09 17:34   ` Naveen N. Rao
2014-12-10 10:01   ` Michael Ellerman
2014-12-10 10:01     ` Michael Ellerman
2014-12-09 17:34 ` [RFC PATCH 5/8] perf probe powerpc: Allow matching against " Naveen N. Rao
2014-12-09 17:34   ` Naveen N. Rao
2014-12-10 10:03   ` Michael Ellerman
2014-12-10 10:03     ` Michael Ellerman
2014-12-09 17:34 ` [RFC PATCH 6/8] perf tools powerpc: Fix PPC64 ELF ABIv2 symbol decoding Naveen N. Rao
2014-12-09 17:34   ` Naveen N. Rao
2014-12-10 10:13   ` Michael Ellerman
2014-12-10 10:13     ` Michael Ellerman
2014-12-10 11:21     ` Naveen N. Rao
2014-12-10 11:21       ` Naveen N. Rao
2014-12-09 17:34 ` [RFC PATCH 7/8] perf probe powerpc: Use DWARF info only if necessary Naveen N. Rao
2014-12-09 17:34   ` Naveen N. Rao
2014-12-10 10:17   ` Michael Ellerman
2014-12-10 10:17     ` Michael Ellerman
2014-12-10 11:48     ` Naveen N. Rao
2014-12-10 11:48       ` Naveen N. Rao
2014-12-09 17:34 ` [RFC PATCH 8/8] perf probe powerpc: Fixup function entry if using kallsyms lookup Naveen N. Rao
2014-12-09 17:34   ` Naveen N. Rao
2014-12-09 21:14   ` Arnaldo Carvalho de Melo [this message]
2014-12-09 21:14     ` Arnaldo Carvalho de Melo
2014-12-10  4:11     ` Ananth N Mavinakayanahalli
2014-12-10  4:11       ` Ananth N Mavinakayanahalli
2014-12-10  4:12 ` [RFC PATCH 0/8] Fix perf probe issues on powerpc Ananth N Mavinakayanahalli
2014-12-10  4:12   ` Ananth N Mavinakayanahalli
2015-01-21 12:51 ` Arnaldo Carvalho de Melo
2015-01-21 12:51   ` Arnaldo Carvalho de Melo
2015-01-21 15:33   ` Naveen N. Rao
2015-01-21 15:33     ` Naveen N. Rao

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20141209211400.GB8788@kernel.org \
    --to=acme@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=naveen.n.rao@linux.vnet.ibm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.