[prev in list] [next in list] [prev in thread] [next in thread]
List: linux-mips
Subject: Re: [PATCH 2/2] Alchemy: provide cpu feature overrides.
From: Manuel Lauss <mano () roarinelk ! homelinux ! net>
Date: 2008-12-23 21:15:43
Message-ID: 20081223221543.22078f74 () scarran ! roarinelk ! net
[Download RAW message or body]
On Tue, 23 Dec 2008 17:37:03 +0100
Ralf Baechle <ralf@linux-mips.org> wrote:
> 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
Sorry, error on my side: one has to define constants for all
mipsXXrY variants to get a good result:
3890074 124400 436528 4451002 43eaba vmlinux
3880034 124400 436528 4440962 43c382 vmlinux+mips_r
3690742 124396 436528 4251666 40e012 vmlinux++llsc
3666386 124332 436528 4227246 4080ae vmlinux+++all
Happy holidays,
Manuel Lauss.
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic