2004-06-22 22:09:35

by H. J. Lu

[permalink] [raw]
Subject: Does parallel make work for modules?

When building 2.6.7 on a 4way Linux/ia64, "make -j4 modules" doesn't
spawn 4 jobs. I got

5756 pts/0 S 0:00 make -s -j4 modules
5868 pts/0 S 0:00 make -f scripts/Makefile.build obj=fs
7240 pts/0 S 0:00 make -f scripts/Makefile.build obj=fs/nfs
7269 pts/0 S 0:00 /bin/sh -c set -e; ? gcc -Wp,-MD,fs/nfs/.pagelist.o.
7270 pts/0 S 0:00 gcc -Wp,-MD,fs/nfs/.pagelist.o.d -nostdinc -iwithprefi
7271 pts/0 S 0:00 /usr/gcc-3.4/libexec/gcc/ia64-unknown-linux-gnu/3.4.1/
7272 pts/0 R 0:00 as -x -o fs/nfs/pagelist.o -

2.4 kernel module build work fine. Any ideas?


H.J.


2004-06-22 22:31:03

by Keith Owens

[permalink] [raw]
Subject: Re: Does parallel make work for modules?

On Tue, 22 Jun 2004 15:08:13 -0700,
"H. J. Lu" <[email protected]> wrote:
>When building 2.6.7 on a 4way Linux/ia64, "make -j4 modules" doesn't
>spawn 4 jobs. I got
>
> 5756 pts/0 S 0:00 make -s -j4 modules
> 5868 pts/0 S 0:00 make -f scripts/Makefile.build obj=fs
> 7240 pts/0 S 0:00 make -f scripts/Makefile.build obj=fs/nfs
> 7269 pts/0 S 0:00 /bin/sh -c set -e; ? gcc -Wp,-MD,fs/nfs/.pagelist.o.
> 7270 pts/0 S 0:00 gcc -Wp,-MD,fs/nfs/.pagelist.o.d -nostdinc -iwithprefi
> 7271 pts/0 S 0:00 /usr/gcc-3.4/libexec/gcc/ia64-unknown-linux-gnu/3.4.1/
> 7272 pts/0 R 0:00 as -x -o fs/nfs/pagelist.o -
>
>2.4 kernel module build work fine. Any ideas?

Works for me, GNU Make version 3.79.1 building 2.6.7 on ia64. make -j8
modules gives a pstree of

bash(2475)---make(29483)-+-make(29806)---make(30111)---make(30112)---sh(30113)---gcc(30114)-+-as(30116)
| `-cc1(30115)
`-make(29857)-+-make(29938)---sh(30153)---gcc(30154)-+-as(30156)
| `-cc1(30155)
|-make(30103)-+-sh(30104)---gcc(30105)-+-as(30107)
| | `-cc1(30106)
| `-sh(30146)---gcc(30147)-+-as(30149)
| `-cc1(30148)
`-make(30130)---sh(30131)---gcc(30132)-+-as(30134)
`-cc1(30133)

Not the full blown 8 way that I asked for, but that is an artifact of
using recursive make instead of a single top level Makefile with all
the dependencies.

2004-06-22 23:19:05

by Jeff Garzik

[permalink] [raw]
Subject: Re: Does parallel make work for modules?

H. J. Lu wrote:
> When building 2.6.7 on a 4way Linux/ia64, "make -j4 modules" doesn't
> spawn 4 jobs. I got


BTW, you don't need to bother with a separate 'make modules' step anymore.

'make -jN' should build everything, including the default boot image for
your architecture.

Jeff


2004-06-22 23:40:58

by Kalin KOZHUHAROV

[permalink] [raw]
Subject: Re: Does parallel make work for modules?

H. J. Lu wrote:
> When building 2.6.7 on a 4way Linux/ia64, "make -j4 modules" doesn't
> spawn 4 jobs. I got
>
> 5756 pts/0 S 0:00 make -s -j4 modules
> 5868 pts/0 S 0:00 make -f scripts/Makefile.build obj=fs
> 7240 pts/0 S 0:00 make -f scripts/Makefile.build obj=fs/nfs
> 7269 pts/0 S 0:00 /bin/sh -c set -e; ? gcc -Wp,-MD,fs/nfs/.pagelist.o.
> 7270 pts/0 S 0:00 gcc -Wp,-MD,fs/nfs/.pagelist.o.d -nostdinc -iwithprefi
> 7271 pts/0 S 0:00 /usr/gcc-3.4/libexec/gcc/ia64-unknown-linux-gnu/3.4.1/
> 7272 pts/0 R 0:00 as -x -o fs/nfs/pagelist.o -
>
> 2.4 kernel module build work fine. Any ideas?

-j8 (and distcc) WFM since 2.6.0 without problems. All CPUs (4+) are at almost 100% during the build.

Kalin.

--
||///_ o *****************************
||//'_/> WWW: http://ThinRope.net/