From: Bart T. <ba...@ju...> - 2007-12-17 15:32:09
|
Hi all, [ please keep me CC'ed, I am not subscribed ] I am trying to profile a network driver (netfilter to be exact) that's being heavily stressed with TCP packets. Load gets quite high. Oprofile seems to log for a while and then stops. I've seen this problem a few times on different kernels. Currently I am running: - AMD Athlon(TM) XP - kernel 2.6.21 w/ kgdb patches - oprofile 0.9.3 (from Debian) Here is my script: sudo opcontrol --init sudo opcontrol --setup \ --vmlinux=vmlinux \ --callgraph=100 \ --buffer-size=10000000 \ --buffer-watershed=5000000 \ --separate=none \ --event=CPU_CLK_UNHALTED:750000:0:1:0 sudo opcontrol --start I then run this: alias op="opreport --demangle=smart -p .,/lib/modules/$(uname -r)/kernel" while sleep 1 ; do opcontrol --dump ; op ; uptime ; done and see the total symbols clime up to about 3-4k. Then it stops. If it stopped at buffer-watershed / callgraph or about 50k, then I could explain it. Am I missing something? As you can see, I played with the buffer sizes, but for what I did try it didn't help. I added opcontrol --dump to the while loop, but that also didn't help. I am not really sure how to debug this... maybe there is something wrong in my configuration. Thanks in advance. -Bart -- WebSig: http://www.jukie.net/~bart/sig/ |
From: William C. <wc...@re...> - 2007-12-19 14:22:16
|
Bart Trojanowski wrote: > Hi all, > > [ please keep me CC'ed, I am not subscribed ] > > I am trying to profile a network driver (netfilter to be exact) that's > being heavily stressed with TCP packets. Load gets quite high. > > Oprofile seems to log for a while and then stops. I've seen this > problem a few times on different kernels. Currently I am running: > > - AMD Athlon(TM) XP > - kernel 2.6.21 w/ kgdb patches > - oprofile 0.9.3 (from Debian) > > Here is my script: > > sudo opcontrol --init > sudo opcontrol --setup \ > --vmlinux=vmlinux \ > --callgraph=100 \ > --buffer-size=10000000 \ > --buffer-watershed=5000000 \ > --separate=none \ > --event=CPU_CLK_UNHALTED:750000:0:1:0 > sudo opcontrol --start > > I then run this: > > alias op="opreport --demangle=smart -p .,/lib/modules/$(uname -r)/kernel" > while sleep 1 ; do opcontrol --dump ; op ; uptime ; done > > and see the total symbols clime up to about 3-4k. Then it stops. If it > stopped at buffer-watershed / callgraph or about 50k, then I could > explain it. Am I missing something? > > As you can see, I played with the buffer sizes, but for what I did try > it didn't help. I added opcontrol --dump to the while loop, but that > also didn't help. > > I am not really sure how to debug this... maybe there is something wrong > in my configuration. > > Thanks in advance. > > -Bart How is the output of opreport being compared? At some point no additional entries are going to be made and just the values are going to change on the existing ones. Is the "opcontrol --dump" giving any error messages indicating that the daemon, oprofiled, has died? Do you see the values of the various entries in /dev/oprofile/stats/* /dev/oprofile/cpu[0-9]*/* changing? -Will |