This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
Lots of kretprobe_trampoline_holder in backtrace
- From: "Peter Teoh" <htmldeveloper at gmail dot com>
- To: systemtap at sources dot redhat dot com
- Date: Sun, 20 Apr 2008 08:23:52 +0800
- Subject: Lots of kretprobe_trampoline_holder in backtrace
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:to:subject:mime-version:content-type:content-transfer-encoding:content-disposition; bh=x1JxavHUsmkfSIG8syA3Eu8mJAmT3u3zCAvCuCTVPSk=; b=J4VdyK7bE118wKjfuyjeo6QF274oU5G6lICMSPR/caJUlPqrGo7C1+/uQMEwN3aKw4U3G2uucOMy0b5EXpWihUjKAxW01udUWR9N+cW1CVtUKQ7hFruQwvX7/hr8TbMWgB2xhlySU/0hvB+25aTkun2SFSsWAeo+0POZxKuK2A4=
- Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:to:subject:mime-version:content-type:content-transfer-encoding:content-disposition; b=iGvrISd4cnZn4ed4jV9nenwknQ3XonU4SENZGwg0x+NC0vUESLCcNjjslJ/i2SUt72eSoP4lg8oZLcMCVzBBZ1UDlLsDVolQV96RqV+wISuWsAAYPw2Uvh2X68JU0yUY/9zdj3cAXEblvN7HZtRTpO6LU594hrVOVWUsgxAAIrY=
Using the following script:
probe kernel.function("*@fs/open.c").call {
printf("===>%s\n", probefunc());
print_backtrace();
printf("\n");
}
probe kernel.function("*@fs/open.c").return {
printf("<===%s\n", probefunc());
printf("\n");
}
The output below. As noted, there is a lot of information hidden by
the presence of breakpoints, which are output as
kretprobe_trampoline_holder*. Is it not more logical to display the
ORIGINAL function, instead of the breakpoints on where we are seeing
kretprobe_trampoline_holder right now.....just like normal gdb
backtrace information. Shown below, if the breakpoints so happened
to embed one another, there is a lot of information lost, resulting in
a lot of not-so-useful "kretprobe_trampoline_holder" stacking up one
another.
===>sys_open
0xc04728c7 : sys_open+0x1/0x26
===>do_sys_open
0xc04727ec : do_sys_open+0x1/0xb7
0xc06377a6 : kretprobe_trampoline_holder+0x3/0x33
===>get_unused_fd_flags
0xc0472523 : get_unused_fd_flags+0x1/0xd0
0xc06377a6 : kretprobe_trampoline_holder+0x3/0x33
0xc06377a6 : kretprobe_trampoline_holder+0x3/0x33
<===get_unused_fd_flags
===>do_filp_open
0xc04727b7 : do_filp_open+0x1/0x35
0xc06377a6 : kretprobe_trampoline_holder+0x3/0x33
0xc06377a6 : kretprobe_trampoline_holder+0x3/0x33
===>nameidata_to_filp
0xc0472784 : nameidata_to_filp+0x1/0x33
0xc06377a6 : kretprobe_trampoline_holder+0x3/0x33
0xc06377a6 : kretprobe_trampoline_holder+0x3/0x33
0xc06377a6 : kretprobe_trampoline_holder+0x3/0x33
===>__dentry_open
0xc04725ff : __dentry_open+0x1/0x185
0xc06377a6 : kretprobe_trampoline_holder+0x3/0x33
0xc06377a6 : kretprobe_trampoline_holder+0x3/0x33
0xc06377a6 : kretprobe_trampoline_holder+0x3/0x33
0xc06377a6 : kretprobe_trampoline_holder+0x3/0x33
<===__dentry_open
<===nameidata_to_filp
<===do_filp_open
--
Regards,
Peter Teoh