linux-mips
[Top] [All Lists]

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

To: Manuel Lauss <mano@roarinelk.homelinux.net>
Subject: Re: [PATCH 2/2] Alchemy: provide cpu feature overrides.
From: Ralf Baechle <ralf@linux-mips.org>
Date: Tue, 23 Dec 2008 17:37:03 +0100
Cc: Linux-MIPS <linux-mips@linux-mips.org>
In-reply-to: <20081223172954.06b301cb@scarran.roarinelk.net>
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <1229973668-18182-1-git-send-email-mano@roarinelk.homelinux.net> <1229973668-18182-2-git-send-email-mano@roarinelk.homelinux.net> <20081223143909.GD5981@linux-mips.org> <20081223172954.06b301cb@scarran.roarinelk.net>
Sender: linux-mips-bounce@linux-mips.org
User-agent: Mutt/1.5.18 (2008-05-17)
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

<Prev in Thread] Current Thread [Next in Thread>