From: Keith Owens <kaos@ocs.com.au>
To: linux-kernel@vger.kernel.org
Subject: Re: kbuild 2.5 is ready for inclusion in the 2.5 kernel
Date: Tue, 07 May 2002 09:54:29 +1000 [thread overview]
Message-ID: <18740.1020729269@ocs3.intra.ocs.com.au> (raw)
In-Reply-To: Your message of "Mon, 06 May 2002 13:33:18 +0200." <Pine.LNX.4.33.0205061129440.19054-100000@cola.enlightnet.local>
On Mon, 6 May 2002 13:33:18 +0200 (CEST),
Urban Widmark <urban@teststation.com> wrote:
>On Mon, 6 May 2002, Keith Owens wrote:
>
>> >being able to build over NFS or having stricter integrity checks. I just
>> >don't get the faster bit, but maybe that's just me.
>>
>> You are not comparing like with like. Much of your speed difference
>> from kbuild 2.4 to 2.5 is because you have omitted the make dep time.
>> kbuild 2.5 does not have a seperate make dep pass. Instead it checks
>> the dependencies every time, during phase4.
>
>make dep isn't part of a module rebuild given the constriants I work
>under, the changes are local to the module (which they are).
>
>In my world make dep is only relevant for the first build, and the
>times I mentioned for the full build includes a dependency build.
>(I know the presentation of that part was crap ... but so was the
> measurements :)
kbuild 2.4 defaults to doing a (possibly) inaccurate build after
changes. You have to manually run extra commands to ensure that kbuild
2.4 does an accurate build. If you believe that your change has not
changed the build dependency graph, it _may_ be safe to omit the extra
commands.
kbuild 2.5 defaults to always doing an accurate build, no matter what
has changed. You have to specify a command line option to bypass the
full processing and make it (possibly) inaccurate. If you believe that
your change has not changed the build dependency graph, it _may_ be
safe to specify the command line option.
You have to specify a command line option on kbuild 2.5, to get the
same behaviour that kbuild 2.4 does by default. It comes down to what
should the default be for a build?
* kbuild 2.4 defaults to assuming that nobody ever makes misteaks.
* kbuild 2.5 defaults to assuming that mistakes occur.
This is almost a religious argument, should the build be unsafe and
assume that everybody is an expert or should the build be safe and
provide facilities for experts to override it? I am a true believer in
"the build must be safe" model.
>What you are saying is that I should never do:
>make modules
>
>but always:
>make dep && make bzImage modules
>
>Ok, then I see what you meant by kbuild-2.5 being faster.
That is the only way to ensure an accurate build on kbuild 2.4. Yes,
if you know that your change has no side effects then you can omit make
dep bzImage. The problem is that many people automatically omit the
extra commands, without considering the implications.
>Documentation/kbuild/commands.txt (2.4.18 kernel, don't have anything more
>recent at hand) has a section on make dep that says I only have to run it
>once after the first time I configure the kernel. Maybe that is where I
>picked up that habit.
The documentation is correct, but incomplete. It is correct for an end
user kernel build, i.e. for people who do not change the code or apply
patches, they just configure the kernel and build it. It is incomplete
for developers and for anybody who gets a patch and applies it.
You need to run make dep after any change that affects the build
dependency graph. Add or delete #include in a source, add or delete a
source, add or delete a config option and you must run make dep to
ensure that the changes rebuild what is required. Modversions are even
worse, after any change that might affect an exported symbol or
structure, you must make mrproper (not dep) to calculate and apply the
new hashes to the entire kernel.
As more and more people apply patches (how many variants of the kernel
tree are there now?), more and more people are forgetting to run make
dep and are building incomplete kernels.
The default for kernel build must be a safe and accurate build.
next prev parent reply other threads:[~2002-05-06 23:54 UTC|newest]
Thread overview: 98+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-05-01 14:23 Keith Owens
2002-05-02 15:17 ` Denis Vlasenko
2002-05-02 10:38 ` tomas szepe
2002-05-02 12:21 ` Keith Owens
2002-05-02 12:49 ` Martin Dalecki
2002-05-02 14:26 ` Alan Cox
2002-05-02 13:32 ` Martin Dalecki
2002-05-02 14:54 ` Kai Germaschewski
2002-05-02 15:17 ` Alan Cox
2002-05-05 9:43 ` Mike Fedyk
2002-05-05 10:16 ` Keith Owens
2002-05-02 15:21 ` Arjan van de Ven
2002-05-02 15:59 ` Richard Gooch
2002-05-02 15:36 ` Martin Dalecki
2002-05-02 17:15 ` Alan Cox
2002-05-02 16:30 ` Martin Dalecki
2002-05-02 18:20 ` Alan Cox
2002-05-02 17:25 ` Arjan van de Ven
2002-05-02 16:53 ` Martin Dalecki
2002-05-02 17:48 ` David S. Miller
2002-05-02 17:42 ` Martin Dalecki
2002-05-02 19:11 ` Alan Cox
2002-05-02 18:22 ` Martin Dalecki
2002-05-02 18:49 ` David S. Miller
2002-05-02 18:33 ` Alan Cox
2002-05-02 14:24 ` Kai Germaschewski
2002-05-02 15:18 ` David Woodhouse
2002-05-02 15:40 ` Kai Germaschewski
2002-05-02 23:40 ` Keith Owens
2002-05-02 23:25 ` Martin Dalecki
2002-05-03 14:48 ` Kai Germaschewski
2002-05-03 15:45 ` Keith Owens
2002-05-02 15:19 ` Alan Cox
2002-05-02 22:57 ` Pavel Machek
2002-05-03 8:33 ` Vikram
2002-05-03 12:07 ` Keith Owens
2002-05-18 1:14 ` Andrea Arcangeli
2002-05-18 1:33 ` Dave Jones
2002-05-18 3:06 ` Oliver Xymoron
2002-05-18 12:28 ` [PATCH] move jiffies from sched.h to it's own jiffies.h Tim Schmielau
2002-05-19 22:33 ` Tim Schmielau
2002-05-20 2:32 ` Rusty Russell
2002-05-18 2:12 ` kbuild 2.5 is ready for inclusion in the 2.5 kernel Gerhard Mack
2002-05-18 2:13 ` Keith Owens
2002-05-18 2:30 ` Andrea Arcangeli
2002-05-20 2:38 ` Miles Bader
2002-05-02 21:34 ` tomas szepe
2002-05-02 21:42 ` Dave Jones
2002-05-03 1:19 ` John Covici
2002-05-03 1:33 ` Keith Owens
2002-05-03 1:39 ` tomas szepe
2002-05-03 2:31 ` Alexander Viro
2002-05-03 3:21 ` Davide Libenzi
2002-05-02 21:42 ` Alexander Viro
2002-05-02 23:25 ` tomas szepe
2002-05-03 21:05 ` Mark H. Wood
2002-05-04 13:58 ` Kurt Wall
2002-05-06 1:54 ` Mike Fedyk
2002-05-02 22:54 ` Pavel Machek
2002-05-03 9:00 ` Keith Owens
2002-05-03 4:17 ` Randy.Dunlap
2002-05-03 5:02 ` Keith Owens
2002-05-03 6:32 ` Randy.Dunlap
2002-05-03 10:06 ` Gerd Knorr
2002-05-03 10:42 ` Keith Owens
2002-05-03 12:05 ` Gerd Knorr
2002-05-03 13:31 ` Keith Owens
2002-05-04 6:44 ` Paul Mackerras
2002-05-04 8:03 ` Paul Mackerras
2002-05-06 0:42 ` Mike Fedyk
2002-05-06 4:07 ` Paul Mackerras
2002-05-04 9:03 ` Keith Owens
2002-05-04 9:38 ` Russell King
2002-05-04 10:33 ` Paul Mackerras
2002-05-04 11:49 ` Keith Owens
2002-05-06 8:40 ` Gerd Knorr
2002-05-07 4:14 ` Keith Owens
2002-05-04 15:30 ` Richard Gooch
2002-05-05 17:23 ` Urban Widmark
2002-05-05 23:36 ` Keith Owens
2002-05-06 11:33 ` Urban Widmark
2002-05-06 23:54 ` Keith Owens [this message]
2002-05-06 10:54 ` Alex Riesen
2002-05-08 2:54 ` Keith Owens
2002-05-08 17:25 ` Alex Riesen
2002-05-09 0:10 ` Keith Owens
2002-05-09 0:55 ` Daniel Jacobowitz
2002-05-09 1:44 ` Keith Owens
2002-05-05 16:42 Dan Kegel
2002-05-05 23:44 ` Keith Owens
2002-05-06 0:02 ` Dan Kegel
2002-05-06 0:40 ` Keith Owens
2002-05-06 15:38 ` Alan Cox
2002-05-06 15:33 ` Tomas Szepe
[not found] <cs.lists.linux-kernel/18740.1020729269@ocs3.intra.ocs.com.au>
2002-05-07 23:48 ` Ion Badulescu
2002-05-08 0:10 ` Keith Owens
2002-05-08 0:37 ` Alan Cox
2002-05-08 0:34 ` Keith Owens
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=18740.1020729269@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®