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]

Re: [Forw:] Re: Slowness module generating for testsuite/systemtap.stress/current.stp due to elfutils-0.131


Sorry, I'm far too backlogged to look into this directly any time soon.
I can give you a few suggestions off hand on how to investigate.

First thing is to verify that libdwfl alone has slowed down, ruling out
some bizarre interaction with systemtap's particular use.  Compare
loc2c-test -K or some other elfutils test program between the two builds.
The -K option (or -K`uname -r`) translates to the same libdwfl reporting
functions that systemtap uses.  

Next, I'd check for any big difference in system calls.  If strace -c
output differs a great deal, then take traces to see if the new one is
opening a much larger number of files or something like that.

If all that is the same, the reporting pass is not the culprit.
The next thing that comes to mind is the new relocation behavior.
This is the feature added in 0.131 to facilitate the markers work
in .ko modules.  If you call dwfl_module_getelf then it eagerly
applies relocs to all sections in case you are going to get their
contents via libelf calls.  Perhaps we are getting too many relocs
eagerly applied and that is unexpectedly costly.  Or perhaps there 
is some bug causing the reloc work to be repeated many times or 
something like that.  In the debugger, look at the number of calls
to __libdwfl_relocate and __libdwfl_relocate_section.


Thanks,
Roland


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