Re: Announce: Kernel Build for 2.5, Release 2.0 is available

Keith Owens (kaos@ocs.com.au)
Sat, 06 Apr 2002 00:52:57 +1000


On 05 Apr 2002 16:37:12 +0200,
Andi Kleen <ak@suse.de> wrote:
>Keith Owens <kaos@ocs.com.au> writes:
>> On a smaller config (full config takes too long when single threaded).
>>
>> kbuild 2.4:
>> make oldconfig dep bzImage modules 6:25
>> make bzImage modules (no changes) 0:22
>>
>> kbuild 2.5:
>> make oldconfig installable 4:45
>> make installable (no changes) 0:16
>
>Hmm, can you explain the two minutes of difference ? Is the old build
>that inefficient?

Yes. kbuild 2.4 invokes a separate copy of make for each directory,
with significant start up overhead. Plus it runs most directories
twice, once for built in and once for modules, it was the only way to
handle separate flags for kernel and module code. Rules.make has been
trying to use make as a programming language, but it was never designed
for that.

kbuild 2.5 does a lot of work up front (in C) to build a single, global
makefile which only requires one copy of make and one pass over the
entire kernel. When the global makefile has been built and the kernel
is already up to date, make runs the global makefile with the entire
kernel dependency tree in sub second time.

BTW, all kbuild 2.5 times so far have been using the unoptimized
pre-processor programs, with all my debugging checks still turned on.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/