Re: [PATCH 2/2] Alchemy: provide cpu feature overrides.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 23 Dec 2008 17:37:03 +0100
Ralf Baechle <ralf@xxxxxxxxxxxxxx> 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.


[Index of Archives]     [Linux MIPS Home]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Linux]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux