Re: [Lse-tech] 7.52 second kernel compile

Keith Owens
2002-03-17T01:45:33Z

On Sat, 16 Mar 2002 09:37:00 -0800,
"Martin J. Bligh" <Martin.Bligh@us.ibm.com> wrote:
>Are you still doing something like this?
># MAKE="make -j14" /usr/bin/time make -j14 bzImage
>
>I tried setting the MAKE variable as well as doing the -j,
>but it actually made kernel compile time slower - what difference
>does it make on your machine? Can somebody clarify what this
>actually does, as opposed to the -j on the command line?

It depends on which version of make you are using. make 3.78 onwards
has a built in job scheduler which shares the value of -j across its
children, yea unto the nth generation. Earlier versions of make did a
simplistic 'run -j copies of make at the top level' and did not
propagate -j to the lower levels.

With the recursive makefiles and make < 3.78 you need MAKE="make -j" to
get a decent speedup because of the lack of choices at the top level
Makefile. With make >= 3.79 you do not need MAKE="make -j14", it can
interfere with make's own scheduler. See also make -l LOAD.