Subject: Re: ARM7 stat calls again
To: Reinoud Zandijk <email@example.com>
From: Richard Earnshaw <firstname.lastname@example.org>
Date: 09/27/2001 20:34:49
> Hiya folks and freinds,
> have got a new ARM7 profiling stats waiting for you :) ... its this time
> twice a `find /' and a `make configure' for pkgsrc's gmake.
> Attached is the output ... hope its complete now ... (zero entries left
Hmm, unfortunately, there are too many symbols in the image this time :-(
Let me guess, you've built an ELF kernel.
Unfortunately, ELF uses `.' as the prefix for a temporary symbol, whereas a.out uses `L'. For GCC compiled files this isn't a problem, but for the assembly files the local labels there always start with `L', so aren't removed by the elf version of strip. So we are now left with a number of `spontaneous' entries which should really be accounted to other functions. In particular, memset is being deprived of most of its cost (and so the parent's don't see the memset cost fully either).
However, even from what you've posted we can glean somthing (taking the other trace you posted as well) I suspect that memset is being used extensively in an interrupt context, in particular:
0.03 0.00 32172/186298 wsemul_vt100_scrollup 
0.03 0.00 32173/186298 vv_eraserows 
 0.0 0.20 0.00 186298 memset 
which together account for >30% of the memset calls
What's the spl level during these calls; if it isn't zero, is there any chance that they can be moved out of the interrupt context?