LKML Archive on
help / color / mirror / Atom feed
From: Keith Owens <>
To: Andrea Arcangeli <>
Cc: Jeff Garzik <>,
Subject: Re: [patch] 2.4.11-pre4 remove spurious kernel recompiles
Date: Mon, 08 Oct 2001 11:34:04 +1000	[thread overview]
Message-ID: <> (raw)
In-Reply-To: Your message of "Mon, 08 Oct 2001 03:20:23 +0200." <20011008032022.M726@athlon.random>

On Mon, 8 Oct 2001 03:20:23 +0200, 
Andrea Arcangeli <> wrote:
>On Mon, Oct 08, 2001 at 10:42:56AM +1000, Keith Owens wrote:
>> IOW a check for Makefile timestamp is both overkill (it recompiles too
>> much) and incomplete (it does not detect command line overrides).  BTW,
>> kbuild 2.5 gets this right.
>That sounds fine. Of course the only regression could be the build time.
>Do you have a benchmark on the build time with kbuild 2.5 applied to
>2.4.10 compared to the build time of 2.4.10?

kbuild 2.5 build times vary from 10% faster to 100% slower, depending
on the number of objects being compiled.  There are some O(n^2)
algorithms in kbuild 2.5, I know where they are and how to fix them, it
just takes time that I don't have right now.  At the moment I am
concentrating on correctness for kbuild 2.5.  MEC mantra:

  Correctness comes first. 
  Then maintainability. 
  Then speed.

>> module.h currently uses the full UTS_RELEASE which includes
>> EXTRAVERSION but that is spurious, modutils ignores EXTRAVERSION when
>> loading a module.  modutils only cares about VERSION, PATCHLEVEL and
>Well again EXTRAVERSION was just an example, SUBLEVEL was the same
>problem as EXTRAVERSION for me, I mean after you apply an -ac patch that
>for example goes backwards in the SUBLEVEL, do you recompile everything
>or do you just run make after your Makefile patch is applied to the

Changing VERSION, PATCHLEVEL or SUBLEVEL requires a recompile of
anything that tests LINUX_VERSION_CODE, including everything that
includes module.h.  That already occurs because the timestamp of
include/linux/version.h changes.  I pointed this out in the patch

My patch to the Makefile does not (cannot) change the dependencies on
LINUX_VERSION_CODE.  I am removing the spurious recompiles caused by
changing EXTRAVERSION and by changing lines in the top level Makefile
that do not directly affect objects.  With my patch only the required
objects are rebuilt.

BTW, how can you apply a -ac patch that sets SUBLEVEL backwards?  -ac
patches are against the Linus tree with the same VERSION, PATCHLEVEL

  reply	other threads:[~2001-10-08  1:34 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-10-07 10:25 [patch] 2.4.11-pre4 remove spurious kernel recompiles Keith Owens
2001-10-07 18:05 ` Andrea Arcangeli
2001-10-07 18:16   ` Jeff Garzik
2001-10-07 23:29     ` Keith Owens
2001-10-08  0:05       ` Andrea Arcangeli
2001-10-08  0:42         ` Keith Owens
2001-10-08  1:20           ` Andrea Arcangeli
2001-10-08  1:34             ` Keith Owens [this message]
2001-10-08  2:12               ` Andrea Arcangeli
2001-10-08  2:49                 ` Keith Owens
2001-10-08  3:07                   ` Andrea Arcangeli
2001-10-08 17:56               ` bill davidsen
2001-10-08 16:19 ` bill davidsen

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:

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \ \ \ \ \ \

* 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;
as well as URLs for NNTP newsgroup(s).