On 02/20/2015 11:20 AM, David Ahern wrote:
On 2/20/15 8:29 AM, Paul Clarke wrote:
How does one set a dynamic tracepoint for user-mode symbols with "@"
qualifiers?
# perf probe -F -x /lib/libpthread.so.0 --filter='pthread_create*'
pthread_create@@GLIBC_2.1
pthread_create@GLIBC_2.0
one of many reasons I proposed an option to let users specify an address.
https://lkml.org/lkml/2013/12/1/126
https://lkml.org/lkml/2013/12/2/324
It was not picked up.
I presume then, that I'm not doing something obviously wrong, and this
is the current state of affairs?
Given that, I would argue that a better resolution would be to:
1. Support setting probes using the name of the symbol as reported by
"--funcs". For example, the following should work:
# perf probe -x /lib/libpthread.so.0 pthread_create@GLIBC_2.0
-- AND / OR --
2. Go ahead and just set probes at all functions which match the base
function name. For example, the following:
# perf probe -v -x /lib/libpthread.so.0 pthread_create
Would set probes at both known "pthread_create" entry points:
- pthread_create@@GLIBC_2.1
- pthread_create@GLIBC_2.0
# perf probe -v -x /lib/libpthread.so.0 pthread_create@GLIBC_2.0
probe-definition(0): pthread_create@GLIBC_2.0
symbol:pthread_create file:GLIBC_2.0 line:0 offset:0 return:0 lazy:(null)
0 arguments
Failed to open debuginfo file.
Error: Failed to add events. (-2)
# perf probe -v -x /lib/libpthread.so.0 pthread_create
probe-definition(0): pthread_create
symbol:pthread_create file:(null) line:0 offset:0 return:0 lazy:(null)
0 arguments
Could not open debuginfo. Try to use symbols.
no symbols found in /usr/lib/libpthread-2.18.so, maybe install a debug
package?
Failed to find symbol pthread_create in /usr/lib/libpthread-2.18.so
Error: Failed to add events. (-2)
Symbols without such qualifiers work fine:
# perf probe -F -x /lib/libpthread.so.0 --filter='pthread_detach*'
pthread_detach
# perf probe -v -x /lib/libpthread.so.0 pthread_detach
probe-definition(0): pthread_detach
symbol:pthread_detach file:(null) line:0 offset:0 return:0 lazy:(null)
0 arguments
Could not open debuginfo. Try to use symbols.
Opening /sys/kernel/debug/tracing/uprobe_events write=1
Added new event:
Writing event: p:probe_libpthread/pthread_detach
/usr/lib/libpthread-2.18.so:0x8b30
probe_libpthread:pthread_detach (on pthread_detach in
/usr/lib/libpthread-2.18.so)
--
PC
--
To unsubscribe from this list: send the line "unsubscribe linux-perf-users" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html