another Bug
James Dickens
jamesd.wi@gmail.com
Mon Sep 12 19:06:00 GMT 2005
I decided to look a activating smaller groups of probes, so far in my
tests nfs and ext have both failed in the same way.
the script i'm using
probe module("ext3").function("*")
{
if (target() == pid())
i++;
}
probe timer.jiffies(100) { exit(); }
here is the errors from ext
/tmp/stap2llCXg/stap_29556.c: In function âsystemtap_module_initâ:
/tmp/stap2llCXg/stap_29556.c:126672: warning: integer constant is too
large for long type
/tmp/stap2llCXg/stap_29556.c:127008: warning: integer constant is too
large for long type
/tmp/stap2llCXg/stap_29556.c:130512: warning: integer constant is too
large for long type
/tmp/stap2llCXg/stap_29556.c:132648: warning: integer constant is too
large for long type
/tmp/stap2llCXg/stap_29556.c:132808: warning: integer constant is too
large for long type
/tmp/stap2llCXg/stap_29556.c:133776: warning: integer constant is too
large for long type
here are the functions that are causing the error register 203 is
good... 204 and after are bad, looks like sometype of overflow error.
/* register 203 */
/* module("ext3").function("ext3_alloc_block@fs/ext3/inode.c:238") */
dwarf_kprobe_203.addr = (void *) 0xd28aff00;
rc = register_kprobe (&dwarf_kprobe_203);
if (unlikely (rc)) {
atomic_set (&session_state, STAP_SESSION_ERROR);
goto unregister_202;
}
/* register 204 */
/* module("ext3").function("ext3_block_to_path@fs/ext3/inode.c:298") */
dwarf_kprobe_204.addr = (void *) 0xbfbc52d80000004f;
rc = register_kprobe (&dwarf_kprobe_204);
if (unlikely (rc)) {
atomic_set (&session_state, STAP_SESSION_ERROR);
goto unregister_203;
}
/* register 205 */
/* module("ext3").function("ext3_get_branch@fs/ext3/inode.c:366") */
dwarf_kprobe_205.addr = (void *) 0xd28b0027;
rc = register_kprobe (&dwarf_kprobe_205);
if (unlikely (rc)) {
atomic_set (&session_state, STAP_SESSION_ERROR);
goto unregister_204;
}
if anyone is wondering why i would want to do such a thing, here is
one example.
if I want to make module blah faster, so i want to see what function
gets called the most, and which takes the most time. the script above
doesn't do that but could be expanded to complete the required tasks.
James Dickens
More information about the Systemtap
mailing list