All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sam Ravnborg <sam@ravnborg.org>
To: Adrian Bunk <bunk@kernel.org>
Cc: Andi Kleen <ak@suse.de>, Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>, "H. Peter Anvin" <hpa@zytor.com>,
	LKML <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] x86: unify x86 Makefile(s)
Date: Sat, 29 Dec 2007 19:22:41 +0100	[thread overview]
Message-ID: <20071229182241.GA19919@uranus.ravnborg.org> (raw)
In-Reply-To: <20071229125412.GE27360@does.not.exist>

On Sat, Dec 29, 2007 at 02:54:13PM +0200, Adrian Bunk wrote:
> On Sat, Dec 29, 2007 at 01:16:07PM +0100, Andi Kleen wrote:
> > 
> > If -funit-at-a-time really increases stack size too much on some compiler
> > version the right fix would be to check where it does that using make checkstack
> > and then add "noinline" attributes there to prevent the compiler from inlining.
> > That would prevent them.
> > 
> > Globally disabling it is too big a hammer.
> > 
> > e.g. I know XFS did it in a similar way to prevent this problem.
> > 
> > So I would reenable it for now and if you know it causes problems on specific
> > compiler versions, Adrian, you could watch make checkstack there and submit
> > noinline patches as needed.
> 
> The main point is that we are _only_ talking about gcc 3.4 on i386 - for 
> more recent compilers we do not disable unit-at-a-time.

I took a second look and realized that Adrian is right about the disabling.
I had overlooked the 'no' part in -fno-unit-at-a-time.

So to try it out I build a gcc with crosstool:
gcc --version:
i686-unknown-linux-gnu-gcc (GCC) 3.4.5

This is the version that should exhibit the behaviour with increased text size.
Build two kernels - one without and one with -funit-at-a-time:

size output:
   text    data     bss     dec     hex filename
4878494  471580  610304 5960378  5af2ba o-i386/vmlinux
4955008  472934  614400 6042342  5c32e6 o-i386-no-funit-at-a-time/vmlinux

[Last line is with unit-at-a-time disabled as per the filename.]

With a i386 defconfig we see an *increase* in text size if we disable -funit-at-a-time.
That is we see the opposite of the expected.

Now the bug in gcc may have been fixed between 3.4 and 3.4.5 - I dunno.

So this simple test favour to always enable unit-at-a-time.

	Sam

  reply	other threads:[~2007-12-29 18:22 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-12-28 21:23 [PATCH] x86: unify x86 Makefile(s) Sam Ravnborg
2007-12-28 22:13 ` Adrian Bunk
2007-12-29  2:14   ` Andi Kleen
2007-12-29  8:07     ` Adrian Bunk
2007-12-29  9:39   ` Sam Ravnborg
2007-12-29  9:52     ` Adrian Bunk
2007-12-29 12:16       ` Andi Kleen
2007-12-29 12:54         ` Adrian Bunk
2007-12-29 18:22           ` Sam Ravnborg [this message]
2007-12-29 18:24             ` Andi Kleen
2007-12-29 18:58               ` Sam Ravnborg
2007-12-29 21:17                 ` Andi Kleen
2007-12-29 21:45                   ` Adrian Bunk
2007-12-30  2:00                     ` Andi Kleen
2007-12-30 11:01                       ` Adrian Bunk
2007-12-29  2:22 ` Andi Kleen
2007-12-29  8:07   ` Sam Ravnborg

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20071229182241.GA19919@uranus.ravnborg.org \
    --to=sam@ravnborg.org \
    --cc=ak@suse.de \
    --cc=bunk@kernel.org \
    --cc=hpa@zytor.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=tglx@linutronix.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.