fche changed the topic of #systemtap to: http://sourceware.org/systemtap; email systemtap@sourceware.org if answers here not timely, conversations may be logged
orivej has quit [Ping timeout: 276 seconds]
wmealing has joined #systemtap
* wmealing waves
<wmealing> dont need anything
<promach> fche: means that you cannot reproduce the problem at my own computer
<promach> let me reinstall systemtap
<promach> fche: it seems like we need to use --example linetimes.stp
<promach> and '*' <-- what is this for ?
<promach> fche: and I saw a lot of blacklisted functions warnings
<promach> :(
_whitelogger has joined #systemtap
<promach> fche
fche has quit [Ping timeout: 246 seconds]
mjw has quit [Quit: Leaving]
<promach> according to your own ubuntu paste, https://sourceware.org/systemtap/examples/profiling/linetimes.stp is not reaching probe end() since the control flow graph information is printed at all
<promach> according to your own ubuntu paste, https://sourceware.org/systemtap/examples/profiling/linetimes.stp is not reaching probe end() since the control flow graph information is NOT printed at all
orivej has joined #systemtap
orivej has quit [Read error: Connection reset by peer]
zodbot has quit [Remote host closed the connection]
zodbot has joined #systemtap
slowfranklin has joined #systemtap
_whitelogger has joined #systemtap
mjw has joined #systemtap
_whitelogger has joined #systemtap
orivej has joined #systemtap
_whitelogger has quit [Excess Flood]
_whitelogger has joined #systemtap
fche has joined #systemtap
<fche> promach, blacklisted function warnings are OK, they are only warnings. (I'm working on cutting them down.)
<fche> The fact that you received a .ko file indicates an overall successful run.
<promach> according to your own ubuntu paste, https://sourceware.org/systemtap/examples/profiling/linetimes.stp is not reaching probe end() since the control flow graph information is NOT printed at all
<promach> fche: my own successful run does not print control flow graph information as well
<fche> is there a runtime error preventing it? you may need to suppress the internal overload prevention mechanisms
<promach> overload protection ???
<fche> yes, systemtap measures its own impact on a system during run, and shuts itself down if it deems it too high
<fche> but it'll tell you if it does so. so that's why I'm asking for any runtime errors.
<promach> no runtime error
<fche> stap -p4 doesn't actually run the script, just finish compiling it to a .ko
<fche> stap -p5 (the default) is the stage to run it too.
<fche> ([man stap] attempts to explain this part.)
<promach> ok
<promach> fche: systemtap introduces too much overhead to the linux driver code
<promach> I mean timing overhead
<fche> it depends greatly what it is you probe, and how frequently those spots are hit
<fche> and what the code does during a probe
<fche> if you just need a simple statement-by-statement trace, the varwatch.stp sample may be more to your liking
<fche> a function-by-function one obviously has less cost (since those are less frequent)
<fche> that last paste url still has the -p4, so the script is not being run
<fche> drop the -p4 and try again
<promach> yeah, -p5 will give the same error as well, since we need stage 4 before stage 5
<fche> the second ('*') -p4 run succeeded though
<promach> why is that so ?
<fche> maybe something is wrong only with the push_circ_queue function only
<fche> try a wildcard like 'push*' ?
* fche must head off for about 40 mins
<fche> also try function level traces first. or a single module(...).statement("*@file.c:2323") type line probe, located within the function of interest
<fche> also try stap -L 'module("...").statement("...")' to generate lists of available probe points
<promach> function level traces ??
<promach> you gave me a list of stap scripts , I am a bit confused now
<promach> fche : wildcard does not work with linetimes.stp
vush has joined #systemtap
<vush> hello #systemtap. I am working on a virtual machine in ubuntu 18.04 and have a problem with systemtap saying "semantic error: while resolving probe point: identifier 'module' ... source: probe module("evdev").(...) semantic error: no match;
slowfranklin has left #systemtap [#systemtap]
<vush> I am trying to use the small snippets (another, full script from git brought me there) from here https://blog.cloudflare.com/how-to-monkey-patch-the-linux-kernel/
<vush> I'm thinking it is the module evdev missing and suspect it's because of some VM-Emulation maybe. I have not found an article about this, only kernel wise
<fche> vush, one persistent problem with ubuntu is the difficulty of installing matching debuginfo
<fche> but if you can get it (and #stap-prep may help), things should work okay
<fche> promach, I offered a list of stap scripts because they may help you make progress even while we diagnose the exact problem with this particular function
<fche> by the way, have you tried sudo stap -vv --example linetimes.stp 'module("/lib/modules/4.18.6-041806-generic/kernel/drivers/riffa/riffa.ko")' '*'
<fche> it should at least launch, but depending on traffic, might hit the overload-detection limits. it'll tell you if it does.
<promach> let me dig deeper. give me some time. I am learning stap
<promach> overload-detection limit ??
<fche> promach, absolutely, thanks for hanging with it
<promach> this stap script is introducing too much timing overhead to giga-speed PCIe linux driver
<fche> see [man stap] re. --suppress-time-limits
<fche> ok, so you did get it running, but has high impact? ok, that makes sense if it's probing too much
<fche> (the kernel makes each probe hit cost O(100ns) as pure overhead)
<promach> fche: too high timing overhead impact
<fche> ok, so one needs to be more selective in the probing
<promach> but I got an overall idea where the timing critical functions are
<fche> function- rather than statement-level tracing for initial investigation is a good idea
<promach> function- rather than statement-level tracing ??
<promach> you mean do not use linetimes.stp for initial investigation ?
<fche> correct, if I wanted to know function-level timing data, I'd start with function-level tracing data
<promach> how would I do that ?
<fche> by using a different stap script, one that probes functions mainly rather than statements within functions
<promach> fche: have a look at https://paste.ubuntu.com/p/h8rWdwnz3b/
<fche> para-callgraph is invoked differently from the other script
<fche> stap --example para-callgrpah.stp 'module(".../riffa.ko").function("*pop*")' <--- one argument
<fche> see the example .txt file at that URL
<promach> ok
<promach> this para-callgraph introduces less timing overhead
<promach> fche
<promach> https://paste.ubuntu.com/p/Gy5pQ8jg7b/ <-- how do we interpret the printout ?
<fche> so that gives you calls and returns to/from that function
<fche> t
<fche> the left column is an estimated microsecond elapsed time from call to return
<fche> it pretty-prints the function parameters a little bit (para-callgraph-verbose prints them more verbosely)
<fche> you can drop the -vv if things are generally working
<promach> fche: thanks a lot !!!
wcohen has joined #systemtap
<fche> promach, yeah, you can do other things to, like with the eventcount.stp see rates of events (like module("..").function("*").call s), like a profile but traced/counted rather than sampled
<vush> fche, right now I didn't try to compile a kernel or something. but 2-3 stap examples i have tried are working. it looks like including 'some?' (evdev) modules is not working
<fche> maybe evdev is compiled right into the kernel? then module("evdev").* should be replaced by kernel.* in your scripts
<vush> also I have installed -dbg and (in case) -dev from https://packages.ubuntu.com/source/bionic/xserver-xorg-input-evdev and ran that rename script again
<fche> grep -i config_input_evdev /boot/config-*
<vush> ahh. ok, looks like that, or? grep -i config_input_evdev /boot/config-*
<vush> sry, result is: /boot/config-4.15.0-...-generic:CONFIG_INPUT_EVDEV=y
<vush> so cool thank you fche very much
<fche> righto
brolley has joined #systemtap
orivej has quit [Quit: No Ping reply in 180 seconds.]
orivej has joined #systemtap
vush has quit [Quit: Leaving]
scox has joined #systemtap
tromey has joined #systemtap
scox has quit [Client Quit]
sscox has joined #systemtap
mjw has quit [Quit: Leaving]
slowfranklin has joined #systemtap
slowfranklin has quit [Quit: slowfranklin]
slowfranklin has joined #systemtap
orivej has quit [Quit: No Ping reply in 180 seconds.]
orivej has joined #systemtap
orivej has quit [Ping timeout: 252 seconds]
orivej has joined #systemtap
slowfranklin has quit [Quit: slowfranklin]
slowfranklin has joined #systemtap
slowfranklin has quit [Client Quit]
s1nbad has joined #systemtap
<s1nbad> does the kernel patch number matter when installing kernel headers?
<s1nbad> ex, 4.15.0-(24)
<fche> s1nbad, the closer the better, esp. when the kernel headers package includes the kernel configuration .config machinery too
<s1nbad> gotcha
<fche> and vermagic.h that's going to sting if it's wrong
s1nbad has quit [Ping timeout: 276 seconds]
wcohen has quit [Ping timeout: 260 seconds]
orivej has quit [Ping timeout: 252 seconds]
orivej has joined #systemtap
orivej has quit [Ping timeout: 245 seconds]
sscox has quit [Ping timeout: 252 seconds]
sscox has joined #systemtap
tromey has quit [Quit: ERC (IRC client for Emacs 26.1.50)]
orivej has joined #systemtap
brolley has left #systemtap [#systemtap]
sscox has quit [Ping timeout: 272 seconds]
_whitelogger has joined #systemtap