Re: [PATCH 1/3] perf probe: Set retprobe flag when probe in address-based alternative mode

From: He Kuang
Date: Mon Apr 13 2015 - 11:37:52 EST


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.



- Arnaldo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/