This is the mail archive of the systemtap@sourceware.org mailing list for the systemtap project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

another Bug


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]