Skip to contentSkip to conversation

Does parallel make work for modules?

DISCUSSION H. J. Lu 4 participants 4 messages Jun 22, 2004

lore
Share & tools
lore

H. J. Lu

author
#0 lore raw

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.

#1 lore raw
Quoted 11 lines · H. J. Lu

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 -
Quoted 1 line

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.

#2 lore raw
In reply to H. J. Lu
Quoted 2 lines · H. J. Lu

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

#3 lore raw
In reply to H. J. Lu
Quoted 11 lines · H. J. Lu

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 -
Quoted 1 line

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.

Signature · 2 lines
||///_ o  *****************************
||//'_/>     WWW: http://ThinRope.net/