linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jan Kiszka <jan.kiszka@web.de>
To: "Luis R. Rodriguez" <mcgrof@gmail.com>
Cc: "Gábor Stefanik" <netrolller.3d@gmail.com>,
	"Michael Buesch" <mb@bu3sch.de>,
	linux-wireless@vger.kernel.org
Subject: [PATCH] Warp speed building
Date: Sat, 13 Jun 2009 10:53:13 +0200	[thread overview]
Message-ID: <4A3368F9.6060509@web.de> (raw)
In-Reply-To: <43e72e890906111443h5758b74dk6f788b327b1cfe4c@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 3852 bytes --]

Luis R. Rodriguez wrote:
> 2009/6/11 Gábor Stefanik <netrolller.3d-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>:
>> On Thu, Jun 11, 2009 at 11:14 PM, Michael Buesch<mb-fseUSCV1ubazQB+pC5nmwQ@public.gmane.org> wrote:
>>> On Thursday 11 June 2009 23:10:52 Luis R. Rodriguez wrote:
>>>> On Thu, Jun 11, 2009 at 2:05 PM, Michael Buesch<mb-fseUSCV1ubazQB+pC5nmwQ@public.gmane.org> wrote:
>>>>> On Thursday 11 June 2009 20:48:13 Luis R. Rodriguez wrote:
>>>>>> On Thu, Jun 11, 2009 at 2:29 AM, Jan Kiszka<jan.kiszka-S0/GAf8tV78@public.gmane.org> wrote:
>>>>>>> Hi,
>>>>>>>
>>>>>>> while watching compat-wireless-2009-06-11 doing baby-steps building all
>>>>>>> its modules, I wonder what slows this down so horribly. No other
>>>>>>> external module build package I know is that slow (I would say *at
>>>>>>> least* one order of magnitude slower than normal). Is this really required?
>>>>>>>
>>>>>>> [ Hurray, it's finished! ]
>>>>>> I think the many depmod -ae are the culprit. This is in place to
>>>>>> account for all the crap of madwifi which may be present or older
>>>>>> drivers which have been renamed.
>>>>>>
>>>>>> This could be improved. Patches are welcomed.
>>>>>>
>>>>>> Ps. Try building with make -j 2, etc.
>>>>> -j does not help. It will hardly build in parallel then.
>>>> It works swell for me. The only thing that does not build in parellel
>>>> is the autoconf stuff but after its done with that step everything
>>>> builds as expected with -j 2.
>>>>
>>>>> There's something
>>>>> that serializes most of it (implicitly).
>>>> You certain its just not the first part? I had written some patches to
>>>> make the first autoconf step into another step to then allow make -j
>>>> foo to work without a warning but that would involve another step. The
>>>> -j option does work for me though.
>>> Well, I never measured it, but I don't see any advantage when using -jX. Maybe
>>> that is because forever equals forever+1.
>>>
>>> What I do see, though, is that the per-cpu load is much higher when building the
>>> kernel itself with the same -j parameter.
>> Actually, most of the slowness comes from stage 2 of the module build.
>> For me, stage 1 runs through rather fast (and -jX accelerates it quite
>> well), but stage 2 is serialized, and there is a long wait between
>> individual files. This wait is about a second on 2.6.28 for me in
>> vmware, but over 5 seconds (!!!) on 2.6.29. I've tried multiple
>> distros, and the time difference is consistent. (BTW stage 2 is
>> serialized in a full kernel build as well, though there is no reason
>> why it should be so; but no "wait" between steps is observed - in
>> fact, the second stage of a full 2.6.29 kernel build completes faster
>> for me than the second stage of compat-wireless on 2.6.29!)
> 
> Heh yeah we need to fix this, patches are welcomed, I'll treat a beer sometime.
> 

Unless this comes with a regressing, consider the beer claimed.

------------->

Including config.mk again when kbuild called into the top level Makefile
slowed down the build process awfully. The reason for this were all the
dynamic, shell-based variable evaluations that were called over and over
again. Fortunately, including config.mk only in the outer Makefile run
appears to be enough. So let's remove this warp speed blocker.

Signed-off-by: Jan Kiszka <jan.kiszka@web.de>
---
 Makefile |    2 --
 1 files changed, 0 insertions(+), 2 deletions(-)

diff --git a/Makefile b/Makefile
index 0ab7d27..49a786a 100644
--- a/Makefile
+++ b/Makefile
@@ -13,8 +13,6 @@ OLD_IWL=$(shell $(MODPROBE) -l iwl4965)
 
 ifneq ($(KERNELRELEASE),)
 
-include $(M)/$(COMPAT_CONFIG)
-
 NOSTDINC_FLAGS := -I$(M)/include/ -include $(M)/include/net/compat.h $(CFLAGS)
 
 obj-y := net/wireless/ net/mac80211/ net/rfkill/
-- 
1.6.0.2


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 257 bytes --]

  reply	other threads:[~2009-06-13  8:54 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-06-11  9:29 compat-wireless: ridiculous build speed Jan Kiszka
2009-06-11 18:48 ` Luis R. Rodriguez
2009-06-11 21:05   ` Michael Buesch
2009-06-11 21:10     ` Luis R. Rodriguez
2009-06-11 21:14       ` Michael Buesch
2009-06-11 21:39         ` Gábor Stefanik
2009-06-11 21:43           ` Luis R. Rodriguez
2009-06-13  8:53             ` Jan Kiszka [this message]
2009-06-16 18:39               ` [PATCH] Warp speed building Hauke Mehrtens
2009-06-16 20:07                 ` Luis R. Rodriguez
2009-06-17  6:47                   ` Jan Kiszka

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=4A3368F9.6060509@web.de \
    --to=jan.kiszka@web.de \
    --cc=linux-wireless@vger.kernel.org \
    --cc=mb@bu3sch.de \
    --cc=mcgrof@gmail.com \
    --cc=netrolller.3d@gmail.com \
    /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;
as well as URLs for NNTP newsgroup(s).