From: Keith Owens <kaos@ocs.com.au>
To: linux-kernel@vger.kernel.org
Subject: Re: Announce: Kernel Build for 2.5, Release 2.0 is available
Date: Fri, 05 Apr 2002 22:52:43 +1000 [thread overview]
Message-ID: <7853.1018011163@ocs3.intra.ocs.com.au> (raw)
In-Reply-To: Your message of "05 Apr 2002 14:01:13 +0200." <p73k7rms6ba.fsf@oldwotan.suse.de>
On 05 Apr 2002 14:01:13 +0200,
Andi Kleen <ak@suse.de> wrote:
>Keith Owens <kaos@ocs.com.au> writes:
>
>>
>> More accurate kernel build, easier to write and understand Makefiles,
>> 30% faster than kbuild 2.4. Now the nay-sayers will have to find
>> something else to complain about!
>
>I assume with kbuild 2.4 you mean the current makefiles. How does it
>compare at a single threaded build without -j ?
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
>You seem to have written an awful lot of code just to build something.
>Perhaps it would have been easier to just replace make completely with a
>custom builder @)
Would not have helped. Apart from all the people who complain about
needing extra tools to build the kernel (remember the Python wars for
CML2?), the kernel build has some really nasty requirements :-
* Most dependencies are not listed. kbuild has to work out which
sources depend on which headers, sometimes sources include other
sources.
* 2,200+ config options, each of which can affect as little as one file
or as much as the entire kernel. kbuild has to work out what each
config option affects.
* Changing a config option must only rebuild the affected targets, not
the entire kernel.
* Changing a command must rebuild only the affected targets, not the
entire kernel.
* You can change a command from the makefile, from the command line or
as a side effect of changing a config option.
* After applying a patch, kbuild must work out what has changed and
only rebuild the affected targets. Even if the patch changes the
dependencies or commands!
Most of the work of kbuild 2.5 is tracking all the special cases, as is
a lot of the code in kbuild 2.4 Rules.make. Any custom builder would
have to do the same amount of work and tracking, so replacing make by
another tool would not save anything. I looked at the various make
replacements like scons, but none of them were ready for the
complexities of kbuild.
next prev parent reply other threads:[~2002-04-05 12:53 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <7022.1018005968@ocs3.intra.ocs.com.au.suse.lists.linux.kernel>
2002-04-05 12:01 ` Andi Kleen
2002-04-05 12:52 ` Keith Owens [this message]
2002-04-05 13:29 ` Russell King
2002-04-05 14:33 ` Keith Owens
2002-04-09 19:00 [kbuild-devel] " Thomas Duffy
2002-04-10 1:11 ` Keith Owens
-- strict thread matches above, loose matches on Subject: below --
2002-04-06 7:20 Keith Owens
2002-04-07 0:51 ` Keith Owens
[not found] <p73k7rms6ba.fsf@oldwotan.suse.de.suse.lists.linux.kernel>
[not found] ` <7853.1018011163@ocs3.intra.ocs.com.au.suse.lists.linux.kernel>
2002-04-05 14:37 ` Andi Kleen
2002-04-05 14:52 ` Keith Owens
2002-04-05 11:26 Keith Owens
2002-04-06 2:03 ` Keith Owens
2002-04-06 16:35 ` Russell King
2002-04-06 23:12 ` Keith Owens
2002-04-06 18:17 ` Larry McVoy
2002-04-07 14:18 ` Roman Zippel
2002-04-07 14:28 ` Keith Owens
2002-04-07 14:51 ` Roman Zippel
2002-04-07 14:53 ` Keith Owens
2002-04-07 15:38 ` Roman Zippel
2002-04-08 8:50 ` Keith Owens
2002-04-08 9:06 ` Roman Zippel
2002-04-08 12:04 ` Keith Owens
2002-04-09 13:08 ` Keith Owens
2002-04-10 11:48 ` Keith Owens
2002-04-14 13:23 ` Keith Owens
2002-04-16 1:58 ` Keith Owens
2002-04-05 10:59 Keith Owens
2002-04-05 11:09 ` Pavel Machek
2002-04-05 11:23 ` Sebastian Heidl
2002-04-05 18:25 ` Mike Fedyk
2002-04-06 18:31 ` Peter Samuelson
2002-04-08 16:16 ` Matthias Andree
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=7853.1018011163@ocs3.intra.ocs.com.au \
--to=kaos@ocs.com.au \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®