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: 264 seconds]
orivej has joined #systemtap
jhg_ has quit [Ping timeout: 256 seconds]
jhg_ has joined #systemtap
orivej has quit [Ping timeout: 256 seconds]
_whitelogger has joined #systemtap
khaled has quit [Quit: Konversation terminated!]
_whitelogger has joined #systemtap
amerey_ has quit [Ping timeout: 256 seconds]
_whitelogger has joined #systemtap
orivej has joined #systemtap
_whitelogger has joined #systemtap
orivej has quit [Ping timeout: 240 seconds]
orivej has joined #systemtap
linus2 has quit [Ping timeout: 272 seconds]
linus2 has joined #systemtap
orivej has quit [Ping timeout: 240 seconds]
orivej has joined #systemtap
khaled has joined #systemtap
orivej has quit [Ping timeout: 260 seconds]
_whitelogger has joined #systemtap
orivej has joined #systemtap
khaled has quit [Quit: Konversation terminated!]
orivej has quit [Ping timeout: 264 seconds]
linus2 has quit [Ping timeout: 240 seconds]
linus2 has joined #systemtap
<agentzh>
fche: never mind, we did more stress testing, and enabling STP_UTRACE_USE_TASK_WORK_QUEUE would lead to kernel lockup (100% CPU).
<agentzh>
seems like we need another way to fix the process.begin vs vma map callback running order.
orivej has joined #systemtap
derek0883 has joined #systemtap
derek0883 has quit [Remote host closed the connection]
<agentzh>
fche: maybe combine the vma map callback with the process.begin callback to form a single utrace engine callback?
<agentzh>
so that we can always make sure they run in the correct order when attached to the target process?
<agentzh>
it took me a lot of time debugging this and finally realizing they are no longer cputime_t...
<fche>
I'd work by identifying the kernel commit that changed the type of those fields
<agentzh>
the results are hugly larger.
<fche>
if it's a declaration change, a runtime/autoconf*.c file may be able to tell the before & after apart (is sizeof() different? signedness?)
<fche>
if it's the same compile-time data type, then maybe just a KERNEL_VERSION based test in the tapset/embedded-c code could adjust scaling accordingly
<agentzh>
okay, i'll dig it up.
<agentzh>
thanks for the suggestion.
<fche>
righto
<agentzh>
i found it was introduced by commit 5613fda9a503c in mainline kernel.
<agentzh>
not sure if redhat would backport it to its older kernels.
<agentzh>
or has backported
<fche>
might happen, so that's why autoconf* based tests are used
<agentzh>
i don't see any data type changes in that commit. alas.
<agentzh>
it was introduced in kernel 4.10.
<agentzh>
v4.10-rc6-79-g5613fda9a503
<fche>
cputime_t -> u64
<agentzh>
so we declare this function again in the autotest program?
<fche>
not necessarily
<fche>
but -some- function that is compilable iff the kernel commit is in effect
<fche>
(or not compilable iff ...) -- either way
<agentzh>
hmm
<agentzh>
i'll try it out
<agentzh>
i remember stap's autoconf uses -Wall to compile so it should be easier.
<fche>
yup
<agentzh>
-Wall and -Werr
<agentzh>
*-Werror
<fche>
but yeah cputime_t itself has gone away some years ago generally
<fche>
but anyway see what you can come up with
<fche>
and it seems it was frequently just a typedef to u64 anyway