2.6.18-rc1 make -j4 does not run parallel

From: Keith Owens
Date: Sat Aug 12 2006 - 22:57:06 EST


Dual cpu system.
'echo $$' reports current id is 4972
export KBUILD_OUTPUT=../obj
make -j4

Building a 2.6.17.7 tree, 'LANG= pstree -pl 4972' shows multiple tasks
running in parallel. Even here it is only running 2 instead of the 4
that I expect.

bash(4972)---make(7519)---make(7522)-+-make(7721)---make(8198)---make(8513)---sh(8565)---gcc(8566)---gcc(8572)-+-as(8574)
| `-cc1(8573)
`-make(8077)---sh(8558)---gcc(8559)---gcc(8569)-+-as(8571)
`-cc1(8570)

build a 2.6.18-rc1 or later tree, make -j4 does not run parallel. All
pstree output shows a single branch, like this.

bash(4972)---make(30031)---make(30034)---make(31797)---make(2840)---sh(3678)---gcc(3681)---gcc(3682)---cc1(3683)

Using 'make -j' without a number or 'make -j<n>' where <n> is greater
than 4 does show parallel build behaviour. Looks like something is
decrementing -j<n> as you go down the make tree and decrementing it
enough that it ends up in a serial build.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/