On 1/23/07, Ralf Baechle <ralf@xxxxxxxxxxxxxx> wrote:
On Tue, Jan 23, 2007 at 03:18:17PM +0100, Franck Bui-Huu wrote: > From: Franck Bui-Huu <fbuihuu@xxxxxxxxx> > > This trivial change reduces considerably code size of these > 2 functions callers. For instance, here is the figures for > arch/kernel/signal.o objects: > > text data bss dec hex filename > 11972 0 0 11972 2ec4 arch/mips/kernel/signal.o~old > 5380 0 0 5380 1504 arch/mips/kernel/signal.o~new Have you ran any benchmarks on this? Unrolling the loops used to make a noticable difference.
OK, I ran a micro benchmark on setup_frame() which calls setup_sigcontext(). I got the execution time of setup_frame() by counting the number of cycles spent in it (by using cp0_count register). Without this patchset applied it takes about 14600 cycles for setup_frame() execution whereas with this patchset applied it takes 10300 cycles. These figures are averages. So it appears that this patchset has a positive impact on both size and speed. thanks -- Franck