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

He Kuang
2015-04-13T15:37:49Z

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@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
>