Search Linux Wireless

Re: [PATCH 0/2] compat: fix extreme build slowdowns

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Mar 30, 2012 at 05:24:42PM -0400, Luis R. Rodriguez wrote:
> On Fri, Mar 30, 2012 at 01:43:20PM -0700, Luis R. Rodriguez wrote:
> > On Fri, Mar 30, 2012 at 7:41 AM, Richard Farina <sidhayn@xxxxxxxxx> wrote:
> > > On 03/30/12 07:30, Johannes Berg wrote:
> > >> On Fri, 2012-03-30 at 16:56 +0530, Sujith Manoharan wrote:
> > >>> Johannes Berg wrote:
> > >>>> Somehow exporting too many variables completely confuses the kernel's
> > >>>> Makefiles into trying to calculate the size of every file in a very slow
> > >>>> shell script ... this is causing EXTREME build slowdowns for me.
> > >>>>
> > >>>> These two patches fix it.
> > >>> Nice.
> > >>>
> > >>> Trying to build ath9k..
> > >>>
> > >>> Before:
> > >>>
> > >>> real    1m18.689s
> > >>> user    3m1.382s
> > >>> sys     0m6.833s
> > >>>
> > >>> After:
> > >>>
> > >>> real    0m42.091s
> > >>> user    1m30.024s
> > >>> sys     0m5.700s
> > > Please put this in stable as well, seems like a good thing ;-)
> > 
> > Johannes, kick ass patches, thanks!!! Richard, I will propagate to
> > stable, but first gotta figure why the patch, "compat: explicitly
> > export generated variables" broke builds for older kernels:
> > 
> > mcgrof@tux ~/compat (git::master)$ ckmake
> > Trying kernel                  3.3.0-030300rc2-generic	[OK]
> > Trying kernel                     3.2.2-030202-generic	[OK]
> > Trying kernel                    3.1.10-030110-generic	[OK]
> > Trying kernel                    3.0.18-030018-generic	[OK]
> > Trying kernel                  2.6.39-02063904-generic	[OK]
> > Trying kernel                        2.6.38-13-generic	[OK]
> > Trying kernel                  2.6.38-02063808-generic	[OK]
> > Trying kernel                  2.6.37-02063706-generic	[OK]
> > Trying kernel                  2.6.36-02063604-generic	[OK]
> > Trying kernel                  2.6.35-02063512-generic	[OK]
> > Trying kernel                  2.6.34-02063410-generic	[OK]
> > Trying kernel                  2.6.33-02063305-generic	[OK]
> > Trying kernel                  2.6.32-02063255-generic	[FAILED]
> > Trying kernel                        2.6.31-22-generic	[FAILED]
> > Trying kernel                  2.6.31-02063113-generic	[FAILED]
> > Trying kernel                  2.6.30-02063010-generic	[FAILED]
> > Trying kernel                  2.6.29-02062906-generic	[FAILED]
> > Trying kernel                  2.6.28-02062810-generic	[FAILED]
> > Trying kernel                    2.6.27-020627-generic	[FAILED]
> > Trying kernel                    2.6.26-020626-generic	[FAILED]
> > Trying kernel                    2.6.25-020625-generic	[FAILED]
> > Trying kernel                    2.6.24-020624-generic	[FAILED]
> 
> Applying this patch prior to yours fixes it:

I added one more hunk:

diff --git a/include/linux/compat-2.6.33.h b/include/linux/compat-2.6.33.h
index a11d80f..0c71af9 100644
--- a/include/linux/compat-2.6.33.h
+++ b/include/linux/compat-2.6.33.h
@@ -15,7 +15,7 @@
 #include <linux/firmware.h>
 #include <linux/input.h>
 
-#if defined(CONFIG_COMPAT_FIRMWARE_CLASS)
+#if defined(CONFIG_FW_LOADER) || defined(CONFIG_FW_LOADER_MODULE)
 #define release_firmware compat_release_firmware
 #define request_firmware compat_request_firmware
 #define request_firmware_nowait compat_request_firmware_nowait

And another:

diff --git a/Makefile b/Makefile
index 570dd8b..8775294 100644
--- a/Makefile
+++ b/Makefile
@@ -7,9 +7,8 @@ export KLIB:=          /lib/modules/$(shell uname -r)
 endif
 export KLIB_BUILD ?=    $(KLIB)/build
 
-export PWD := $(shell pwd)
-
 ifeq ($(KERNELRELEASE),)
+export PWD := $(shell pwd)
 export COMPAT_BASE_TREE := "linux-next.git"
 # For this specific tree this is only relevant in
 # terms of the last time we synched code up with upstream

Still not sure why this fixes it but it does... anyway, I merged these
two patches as individual atomic patches with a sensible individual
commit log message, before yours, and then added yours. Thanks so much!

Applied all and pushed out!

PS. If anyone wants patches propagated to a stable branch you can
use: stable@xxxxxxxxxxxxx on the commit log and later I can suck these
out automatically.

  Luis
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux