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: Phase 2 takes too much time to complete


Hi Roberto,

On Thu, 2009-02-12 at 15:24 +0100, Roberto Natella wrote:
> Compile time clearly improved
> after substitution of "endl" with "\n" (2552835 vs 119837 real ms).

Thanks a lot for testing. I wasn't seeing any real improvements myself.
But Frank suggested I look at the number of writes to see if there was
some difference. And there was!
So using stap on itself (using -k to bypass the cache):

WITH endl:
$ stap -e 'global writes=0; probe syscall.write { if (pid() == target())
writes++ } probe end { printf("writes: %d\n", writes) }' -c 'stap -k -e
"probe syscall.* {exit()}"'
Keeping temporary directory "/tmp/stapzNwlc9"
writes: 65279

WITH "\n":
$ stap -e 'global writes=0; probe syscall.write { if (pid() == target())
writes++ } probe end { printf("writes: %d\n", writes) }' -c 'stap -k -e
"probe syscall.* {exit()}"'
Keeping temporary directory "/tmp/stapsmJRtU"
writes: 80

(Both repeated 3 times with always the exact same numbers)

So that is definitely part of the slowdown.
I committed the change to git.

I am still somewhat puzzled by the huge real time you are seeing. I
cannot explain that. One thing that we were looking at was memory usage
(we should do something more clever with scanning the kernel modules and
not keep them all in memory). But if you have enough memory that
shouldn't really matter. Is your machine tight on memory?

Cheers,

Mark


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