This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
Re: profiler & memory leak detector
- From: NavEcos <ecos2 at c1830598-a>
- To: <benny at voicepump dot com>,"benny" <benny5 at mindspring dot com>,<ecos-discuss at sources dot redhat dot com>
- Date: Mon, 22 Jul 2002 14:05:25 -0700
- Subject: Re: [ECOS] profiler & memory leak detector
- References: <AHEPJHOCAEJIJJMPAIIFCEOJCKAA.benny5@mindspring.com>
- Reply-to: ecos at navosha dot com
Doing it per task is a little more work, I don't see any way to
determine which task I am in when I'm in the __default_exception_vsr
routine (system tick interrupt - actually this is the interrupt
for everything I think for the i386). I don't think it should be
hard to determine which task was executing when the interrupt
happened, but I hadn't planned on doing it. I bet it can be
done with a global variables - does anybody know if this is true
or not, and if it's true - how ?
As to doing it with another interrupt with a higher frequency,
I agree, but some embedded systems may not have a spare
timer, so I think a "fall back" should be the system tick. What
would be ideal is an interrupt that has a bit of jitter with a
frequency higher than the system tick. I am pretty sure that
vxWorks does it based off from the system tick, but I am not
100% certain.
My version also requires : Linux, and a network connection and
binutils (i.e. readelf and the sort command) since my version is
a HACK and makes use of external programs.
Many thanks,
-Rich
P.S. Does anybody know what is wrong with the ecos-devel list?
Everything I send there is returned as a fatal error.
On Monday 22 July 2002 02:14 pm, benny wrote:
> I guess such tool (similar to VxWorks SPY) would be great.
> It actually works "per task" so after a while one can get a list of
> task CPU consumption. Just the timer needs to be with the higher resolution
> (some spare timer?)
> -Benny
>
> > -----Original Message-----
> > From: ecos-discuss-owner@sources.redhat.com
> > [mailto:ecos-discuss-owner@sources.redhat.com]On Behalf Of NavEcos
> > Sent: Monday, July 22, 2002 1:32 PM
> > To: ecos-discuss@sources.redhat.com
> > Subject: [ECOS] profiler & memory leak detector
> >
> >
> > Try as I may, I cannot post this to the ecos-devel list, although I am
> > signed up for it, so I'm going to post it here in the discussion list.
> >
> > Has or does anybody use vxWorks?
> >
> > If you have, you may have used their profiler. I have a very simple
> > profiler that I can make available for the x86 PC target. I would like
> > to know if there would be any interest in making such a beast
> > available in the
> > main tree? It requires a modification in the kernel in vectors.S.
> > Basically, I just detect interrupts with vector 0x20 (the 10 msec
> > interrupt)
> > and record the last function the program was in when the periodic system
> > tick fired. I know this has some problems, namely anything that
> > has a delay
> > is tied to the system tick, but for stressed systems it gives a pretty
> > accurate view of what functions you have to streamline.
> >
> > VxWorks also has a tool called memtool. It just detects which functions
> > (and if memory serves tasks) allocate and dealloc memory and in
> > which heap.
> > This is useful for detecting memory leaks although not extremely
> > useful. I
> > don't have a similar tool, but I can make one.
> >
> > Is there any interest in putting these into the main tree?
> > Putting in HOOKS
> > to do it is very easy, and I would like to do that if there is
> > any interest
> > in incorporating it into the main tree.
> >
> > The profiler is very architecture dependant so I need help making
> > that work
> > for other platforms than x86 PC.
> >
> > -Rich
> >
> >
> > --
> > Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos
> > and search the list archive: http://sources.redhat.com/ml/ecos-discuss
--
Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos
and search the list archive: http://sources.redhat.com/ml/ecos-discuss