public inbox for linux-kbuild@vger.kernel.org
 help / color / mirror / Atom feed
* Re: eliminate -pipe from kernel compile
       [not found] <20090511015831.GB15777@luminet.net>
@ 2009-05-11  6:02 ` Geert Uytterhoeven
  2009-05-13  0:38   ` Sam Ravnborg
  0 siblings, 1 reply; 3+ messages in thread
From: Geert Uytterhoeven @ 2009-05-11  6:02 UTC (permalink / raw)
  To: lancetag, linux-m68k; +Cc: linux-kbuild

Added linux-kbuild

On Mon, May 11, 2009 at 03:58, Lance Tagliapietra <lancetag@luminet.net> wrote:
> I was noticing that kernel compiling is set up to have gcc pipe data from one pass to another, instead of using
> temporary files.  On a memory constrained environment, this may not be the best idea (or at least I'd like to
> explore that idea).  Instead of loading the assember, and having immediately being swapped out while the cc1 pass
> runs, it may make more sense to have the temp files being written, instead of the swap in and out, when compiling
> the various objects of the kernel.
>
> So, simply pulling out the -pipe from the compiler flag list didn't see to have the desired effect.  I'm afraid I'm
> still missing something.  I'm still observing the assembler being loaded.
>
> Thoughts?

Gr{oetje,eeting}s,

						Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
							    -- Linus Torvalds

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: eliminate -pipe from kernel compile
  2009-05-11  6:02 ` eliminate -pipe from kernel compile Geert Uytterhoeven
@ 2009-05-13  0:38   ` Sam Ravnborg
  2009-05-14  3:12     ` Lance Tagliapietra
  0 siblings, 1 reply; 3+ messages in thread
From: Sam Ravnborg @ 2009-05-13  0:38 UTC (permalink / raw)
  To: Geert Uytterhoeven, Lance Tagliapietra; +Cc: linux-m68k, linux-kbuild

On Mon, May 11, 2009 at 08:02:16AM +0200, Geert Uytterhoeven wrote:
> Added linux-kbuild
> 
> On Mon, May 11, 2009 at 03:58, Lance Tagliapietra <lancetag@luminet.net> wrote:
> > I was noticing that kernel compiling is set up to have gcc pipe data from one pass to another, instead of using
> > temporary files.  On a memory constrained environment, this may not be the best idea (or at least I'd like to
> > explore that idea).  Instead of loading the assember, and having immediately being swapped out while the cc1 pass
> > runs, it may make more sense to have the temp files being written, instead of the swap in and out, when compiling
> > the various objects of the kernel.
> >
> > So, simply pulling out the -pipe from the compiler flag list didn't see to have the desired effect.  I'm afraid I'm
> > still missing something.  I'm still observing the assembler being loaded.

1) How did you "pulling out the -pipe from the compiler flag list"?
Please show this as a patch.

2) Did you verify that -pipe was used before and no more after your
   changes?
   Hint - use "make V=1" to see all command line options to gcc

	Sam

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: eliminate -pipe from kernel compile
  2009-05-13  0:38   ` Sam Ravnborg
@ 2009-05-14  3:12     ` Lance Tagliapietra
  0 siblings, 0 replies; 3+ messages in thread
From: Lance Tagliapietra @ 2009-05-14  3:12 UTC (permalink / raw)
  To: Sam Ravnborg; +Cc: Geert Uytterhoeven, linux-m68k, linux-kbuild

Hello,

I just completed a test build with my patch to arch/m68k/Makefile to remove the -pipe flag (see patch below).  
Watching the build confirmed that a) -pipe was no longer showing up in the gcc command lines and b) temporary 
files were being created as expected without pipe; and c) the as command was not loaded waiting for cc1 to 
complete.  Yea!  The /arch/m68k/Makefile is the only place where the -pipe flag is located, and that seems
to be the place for all arch's.

--- arch/m68k/Makefile.old	2009-05-13 21:58:28.000000000 -0500
+++ arch/m68k/Makefile	2009-05-09 11:16:39.000000000 -0500
@@ -33,7 +33,9 @@
 CHECKFLAGS += -D__mc68000__
 
 # without -fno-strength-reduce the 53c7xx.c driver fails ;-(
-KBUILD_CFLAGS += -pipe -fno-strength-reduce -ffixed-a2
+# delete -pipe to save RAM / minimize swap during compile
+# original: KBUILD_CFLAGS += -pipe -fno-strength-reduce -ffixed-a2
+KBUILD_CFLAGS += -fno-strength-reduce -ffixed-a2
 
 # enable processor switch if compiled only for a single cpu
 ifndef CONFIG_M68020

Pulling out the -pipe does seem to cut compile time.  I am working on hard numbers.

--Lance

On Wed, May 13, 2009 at 02:38:29AM +0200, Sam Ravnborg wrote:
> On Mon, May 11, 2009 at 08:02:16AM +0200, Geert Uytterhoeven wrote:
> > Added linux-kbuild
> > 
> > On Mon, May 11, 2009 at 03:58, Lance Tagliapietra <lancetag@luminet.net> wrote:
> > > I was noticing that kernel compiling is set up to have gcc pipe data from one pass to another, instead of using
> > > temporary files. ?On a memory constrained environment, this may not be the best idea (or at least I'd like to
> > > explore that idea). ?Instead of loading the assember, and having immediately being swapped out while the cc1 pass
> > > runs, it may make more sense to have the temp files being written, instead of the swap in and out, when compiling
> > > the various objects of the kernel.
> > >
> > > So, simply pulling out the -pipe from the compiler flag list didn't see to have the desired effect. ?I'm afraid I'm
> > > still missing something. ?I'm still observing the assembler being loaded.
> 
> 1) How did you "pulling out the -pipe from the compiler flag list"?
> Please show this as a patch.
> 
> 2) Did you verify that -pipe was used before and no more after your
>    changes?
>    Hint - use "make V=1" to see all command line options to gcc
> 
> 	Sam

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2009-05-14  3:52 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <20090511015831.GB15777@luminet.net>
2009-05-11  6:02 ` eliminate -pipe from kernel compile Geert Uytterhoeven
2009-05-13  0:38   ` Sam Ravnborg
2009-05-14  3:12     ` Lance Tagliapietra

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox