On Tue, Dec 23, 2008 at 05:29:54PM +0100, Manuel Lauss wrote:
> > > Code generated for Alchemy does not use all MIPS32r1 features. Add cpu
> > > feature overrides tailored for Alchemy chips and help GCC create better
> > > code. As a nice sideeffect the size of the resulting kernel is reduced
> > > by a few kilobytes (~200kB for a non-modular db1200 devboard build).
> >
> > The enormous size difference is probably 99% due to atomic and bitops
> > which exist in LL/SC and non-LL/SC versions and without the header gcc
> > will expand the inline function each time. That will hurt, also
> > performance. Also the big size difference suggests that we may want to
> > outline some or all of these functions.
>
> You are of course correct:
>
> text data bss dec hex filename
>
>
> 3890074 124400 436528 4451002 43eaba vmlinux
> 3890070 124400 436528 4450998 43eab6 vmlinux+mips32r1
> 3690742 124396 436528 4251666 40e012 vmlinux++llsc
> 3666386 124332 436528 4227246 4080ae vmlinux+++all
Thanks for the numbers. I'm a little surprised that there are only
4 byte difference between the first two variants?
Ralf
|