script(s) for tracking execution paths
William Cohen
wcohen@redhat.com
Thu Sep 15 20:45:00 GMT 2005
Tom Zanussi wrote:
> William Cohen writes:
> > Tom Zanussi wrote:
> > > Hi,
> > >
> > > I've been having some fun playing around with maps keyed on stack
> > > traces (very cool to be able to do this) and have checked into
> > > systemtap.samples a systemtap script (kmalloc-stacks.stp) and a perl
> > > script (kmalloc-top) that in combination continuously track the
> > > different execution paths to kmalloc(). It keeps counts of the
> > > different execution paths in a systemtap hash, and periodically dumps
> > > the hash contents (and clears the hash table) to the perl script,
> > > which rehashes them in user space. At the end of the run (Ctrl-C), it
> > > sorts the accumulated hash table and filters out any stacks that
> > > contain any of the user-supplied regexps (-e option), which helps cut
> > > down on noise e.g.
> > >
> > > # ./kmalloc-top -e sys_select,alloc_skb
> > >
> > > Here's an example of the output (gathered over a kernel compile):
> >
> > Hi Tom, I have been playing around with the kmalloc example you checked
> > in. When running it, I have seen a couple panics like the one in the
> > photo at:
> >
> > http://people.redhat.com/wcohen/100_0405.jpg
> >
> > This is on a pentium III machine running the rawhide with the current
> > kernel:
> >
> > Linux trek.devel.redhat.com 2.6.13-1.1555_FC5smp #1 SMP Wed Sep 14
> > 15:59:49 EDT 2005 i686 i686 i386 GNU/Linux
> >
> >
>
> Hmm, I haven't seen anything like that on my machine, a Pentium 4
> running 2.6.12-1.1447_FC4.
>
> Is there anything in particular you do to make it happen? The
> sytemtap script itself is pretty simple and doesn't do anything out of
> the ordinary as far as I can tell. I see _stp_map_del() in the trace
> - is that always the case?
>
> Tom
I started the kmalloc-top in one login and did a compile of systemtap in
the other. I was using the stap from the RPM build earlier this week,
0.4.1. Looking at the other picture I took I also see _stp_map_del()
there too.
-Will
More information about the Systemtap
mailing list