All of lore.kernel.org
 help / color / mirror / Atom feed
From: Keith Owens <kaos@ocs.com.au>
To: Sam Ravnborg <sam@ravnborg.org>
Cc: Andrew Morton <akpm@osdl.org>, LKML <linux-kernel@vger.kernel.org>
Subject: Re: What's in kbuild.git for 2.6.19
Date: Mon, 14 Aug 2006 17:02:09 +1000	[thread overview]
Message-ID: <6821.1155538929@kao2.melbourne.sgi.com> (raw)
In-Reply-To: Your message of "Sun, 13 Aug 2006 21:45:03 +0200." <20060813194503.GA21736@mars.ravnborg.org>

Sam Ravnborg (on Sun, 13 Aug 2006 21:45:03 +0200) wrote:
>Outstanding kbuild issues (I should fix a few of these for 2.6.18):
>o make -j N is not as parallel as expected (latest report from Keith
>  Ownens but others has complained as well). I assume it is a kbuild
>  thing but has no clue how to fix it or debug it further.

It is the make jobserver code.  make -j<n> causes the various make
tasks to communicate and work out how many versions are currently
running, to avoid overrunning the -j<n> value.  Every recursive
invocation of make subtracts one from the -j value, reducing the value
that is left when make finally get down to doing some useful work
instead of just recursing.  Jobserver problems are yet another reason
why recursive make is bad.

kbuild is full of recursive make.  The user cannot just add an excess
to <n>, the number of recursive invocations changes from kernel to
kernel as people try to fix bugs in makefile generation, so the
required excess value keeps changing.

Before somebody suggests it: the makefile cannot detect the supplied
value of <n> and specify a modified -j<n> on recursive make commands.
make will detect that a sub-make has -j<n>, complain about it and turn
off the jobserver completely.


  parent reply	other threads:[~2006-08-14  7:02 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-08-13 19:45 What's in kbuild.git for 2.6.19 Sam Ravnborg
2006-08-13 20:54 ` Randy.Dunlap
2006-08-13 20:57   ` Randy.Dunlap
2006-08-13 21:09     ` Sam Ravnborg
2006-08-13 22:00       ` Randy.Dunlap
2006-08-14  3:38       ` [PATCH] kbuild: more doc. cleanups Randy.Dunlap
2006-08-14  7:02 ` Keith Owens [this message]
2006-08-14 19:02   ` What's in kbuild.git for 2.6.19 Siddha, Suresh B
2006-08-15  3:53     ` Keith Owens
2006-08-15  6:25       ` Keith Owens
2006-08-15 15:16         ` Sam Ravnborg
2006-08-18  8:26 ` Greg Schafer
2006-08-18 17:13   ` Sam Ravnborg
2006-08-18 22:12     ` Greg Schafer

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=6821.1155538929@kao2.melbourne.sgi.com \
    --to=kaos@ocs.com.au \
    --cc=akpm@osdl.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=sam@ravnborg.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.