All of lore.kernel.org
 help / color / mirror / Atom feed
From: Arnaldo Carvalho de Melo <acme@kernel.org>
To: He Kuang <hekuang@zoho.com>
Cc: He Kuang <hekuang@huawei.com>,
	masami.hiramatsu.pt@hitachi.com, a.p.zijlstra@chello.nl,
	mingo@redhat.com, namhyung@kernel.org, wangnan0@huawei.com,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH 1/3] perf probe: Set retprobe flag when probe in address-based alternative mode
Date: Mon, 13 Apr 2015 17:42:51 -0300	[thread overview]
Message-ID: <20150413204251.GA14885@kernel.org> (raw)
In-Reply-To: <552BE2EB.9020207@zoho.com>

Em Mon, Apr 13, 2015 at 11:38:19PM +0800, He Kuang escreveu:
> Hi, Arnaldo
> 
> On 04/13/2015 10:42 PM, Arnaldo Carvalho de Melo wrote:
> >Em Mon, Apr 13, 2015 at 11:39:03AM -0300, Arnaldo Carvalho de Melo escreveu:
> >>Em Mon, Apr 13, 2015 at 07:41:28PM +0800, He Kuang escreveu:
> >>>Perf probe misses to set retprobe flag back when falling back to
> >>>address-based alternative mode.
> >
> >>Humm, noticed one other problem, but not with your patch, about this message:
> >
> >>"Could not open debuginfo. Try to use symbols."
> >
> >>That is really not clear, specially that "try to use symbols" :-)
> >
> >>[root@ssdandy ~]# ls -la /root/.debug/.build-id/dd/32e51921ede0fd46f034091b7f6a0f2e01ebda
> >>lrwxrwxrwx. 1 root root 86 Apr 10 18:02 /root/.debug/.build-id/dd/32e51921ede0fd46f034091b7f6a0f2e01ebda -> ../../home/acme/git/build/v4.0.0-rc6+/vmlinux/dd32e51921ede0fd46f034091b7f6a0f2e01ebda
> >>[root@ssdandy ~]# ls -la /root/.debug/.build-id/dd/../../home/acme/git/build/v4.0.0-rc6+/vmlinux/dd32e51921ede0fd46f034091b7f6a0f2e01ebda
> >>-rwxr-xr-x. 1 root root 22698661 Apr 10 18:02 /root/.debug/.build-id/dd/../../home/acme/git/build/v4.0.0-rc6+/vmlinux/dd32e51921ede0fd46f034091b7f6a0f2e01ebda
> >>[root@ssdandy ~]# ls -la /root/.debug/.build-id/dd/../../home/acme/git/build/v4.0.0-rc6+/vmlinux/dd32e51921ede0fd46f034091b7f6a0f2e01ebda
> >
> >>I.e. it managed to read the debuginfo, its just that it has no symbols in it :-)
> >
> >>Anyway, digression ended.
> >
> >Interesting is that when testing your next patch I see:
> >
> >   [root@ssdandy linux]#  perf probe -s ./kernel_src/ --add='fs/super.c;s->s_count=1;'
> >   The /root/.debug/.build-id/dd/32e51921ede0fd46f034091b7f6a0f2e01ebda file has no debug information.
> >   Rebuild with CONFIG_DEBUG_INFO=y, or install an appropriate debuginfo package.
> >     Error: Failed to add events.
> >   [root@ssdandy linux]#
> >
> >Much, much clear message about that debuginfo file :-)
> >
> >But then, to test your [2/3] patch I'll have to figure out how to setup the
> >environment so that I can match your results, shouldn't be hard, but would
> >save reviewing time if you stated it in the commit log message.
> 
> Sorry for not providing enough information.
> 
> -s ./kernel_src/
> 
> The kernel_src dir is a kernel source tree path, it can be
> anywhere, for test you can only put fs/super.c in it:
> 
> kernel_src/
>   -- fs
>      -- super.c
> 
> -k vmlinux
> 
> This is necessary and should be matched to your running kernel.

Normally I don't use this, as 'make install' will set it to a place that
the perf symbol code will look, check its build id, see that it matches
the what is running, i.e. this will hold true:

[root@ssdandy ~]# perf buildid-list --hell 2>&1 | grep -- --kernel
    -k, --kernel          Show current kernel build id
[root@ssdandy ~]# perf buildid-list --kernel
cd1d2cf9f473d0cac668e3afee32866da4540bd4
[root@ssdandy ~]#
[root@ssdandy ~]# perf buildid-list -i
/lib/modules/4.0.0-rc6+/build/vmlinux
cd1d2cf9f473d0cac668e3afee32866da4540bd4

I.e. no need to explicitely pass '-k vmlinux':

[root@ssdandy ~]# perf probe -v --add='sys_write%return'
probe-definition(0): sys_write%return
symbol:sys_write file:(null) line:0 offset:0 return:1 lazy:(null)
0 arguments
Looking at the vmlinux_path (7 entries long)
Using /lib/modules/4.0.0-rc6+/build/vmlinux for symbols
Open Debuginfo file: /lib/modules/4.0.0-rc6+/build/vmlinux
Try to find probe point from debuginfo.
Symbol sys_write address found : ffffffff811e5f10
Probe point found: SyS_write+0
Found 1 probe_trace_events.
Opening /sys/kernel/debug/tracing/kprobe_events write=1
Added new event:
Writing event: r:probe/sys_write SyS_write+0
  probe:sys_write      (on sys_write%return)

You can now use it in all perf tools, such as:

	perf record -e probe:sys_write -aR sleep 1

[root@ssdandy ~]#

- Arnaldo

  reply	other threads:[~2015-04-13 20:43 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-04-13 11:41 [PATCH 1/3] perf probe: Set retprobe flag when probe in address-based alternative mode He Kuang
2015-04-13 11:41 ` [PATCH 2/3] perf probe: Make --source avaiable when probe with lazy_line He Kuang
2015-04-13 15:41   ` Masami Hiramatsu
2015-04-13 16:05     ` Arnaldo Carvalho de Melo
2015-04-13 20:56   ` Arnaldo Carvalho de Melo
2015-04-13 20:57     ` Arnaldo Carvalho de Melo
2015-04-13 21:00       ` Arnaldo Carvalho de Melo
2015-04-13 11:41 ` [PATCH 3/3] perf probe: Fix segfault when probe with lazy_line to file He Kuang
2015-04-13 16:03   ` Masami Hiramatsu
2015-04-14 12:18   ` [tip:perf/urgent] " tip-bot for He Kuang
2015-04-13 14:39 ` [PATCH 1/3] perf probe: Set retprobe flag when probe in address-based alternative mode Arnaldo Carvalho de Melo
2015-04-13 14:42   ` Arnaldo Carvalho de Melo
2015-04-13 15:38     ` He Kuang
2015-04-13 20:42       ` Arnaldo Carvalho de Melo [this message]
2015-04-13 15:23   ` He Kuang
2015-04-13 16:23     ` Arnaldo Carvalho de Melo
2015-04-13 15:42 ` Masami Hiramatsu
2015-04-13 16:05   ` Arnaldo Carvalho de Melo
2015-04-14 12:17 ` [tip:perf/urgent] " tip-bot for He Kuang

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=20150413204251.GA14885@kernel.org \
    --to=acme@kernel.org \
    --cc=a.p.zijlstra@chello.nl \
    --cc=hekuang@huawei.com \
    --cc=hekuang@zoho.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=masami.hiramatsu.pt@hitachi.com \
    --cc=mingo@redhat.com \
    --cc=namhyung@kernel.org \
    --cc=wangnan0@huawei.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.