linux/scripts
David Gibson 3f04e7ddf4 [PATCH] kconfig: Fix Kconfig performance bug
When doing its recursive dependency check, scripts/kconfig/conf uses the flag
SYMBOL_CHECK_DONE to avoid rechecking a symbol it has already checked.
However, that flag is only set at the top level, so if a symbol is first
encountered as a dependency of another symbol it will be rechecked every time
it is encountered until it's encountered at the top level.

This patch adjusts the flag setting so that each symbol will only be checked
once, regardless of whether it is first encountered at the top level, or while
recursing down from another symbol.  On complex configurations, this vastly
speeds up scripts/kconfig/conf.  The config in the powerpc merge tree is
particularly bad: this patch reduces the time for 'scripts/kconfig/conf -o
arch/powerpc/Kconfig' by a factor of 40 on a G5.  That's even including the
time to print the config, so the speedup in the actual checking is more likely
2 or 3 orders of magnitude.

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Roman Zippel <zippel@linux-m68k.org>
Cc: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-11-09 07:55:53 -08:00
..
basic Add some basic .gitignore files 2005-10-18 08:26:15 -07:00
genksyms Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
kconfig [PATCH] kconfig: Fix Kconfig performance bug 2005-11-09 07:55:53 -08:00
ksymoops Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
lxdialog [PATCH] kbuild: signed/unsigned char fix for make menuconfig 2005-07-27 22:17:30 +02:00
mod [PATCH] I2C: add i2c module alias for i2c drivers to use 2005-10-28 14:02:15 -07:00
package [PATCH] kbuild: make help binrpm-pkg fix 2005-07-21 21:45:47 +00:00
.gitignore Add some basic .gitignore files 2005-10-18 08:26:15 -07:00
bin2c.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
binoffset.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
checkconfig.pl Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
checkincludes.pl Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
checkstack.pl Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
checkversion.pl Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
conmakehash.c [PATCH] kbuild: signed char fixes for scripts 2005-07-27 22:27:08 +02:00
extract-ikconfig Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
gcc-version.sh Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
gen_initramfs_list.sh Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
kallsyms.c [PATCH] Strip local symbols from kallsyms 2005-09-07 16:57:20 -07:00
Kbuild.include kbuild: add objectify 2005-09-10 21:02:11 +02:00
kernel-doc [PATCH] scripts/kernel-doc: don't use uninitialized SRCTREE 2005-07-13 23:18:36 +00:00
Lindent [PATCH] Lindent: ignore .indent.pro 2005-07-13 23:09:16 +00:00
Makefile Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
Makefile.build kbuild: fix building external modules 2005-07-27 22:11:01 +02:00
Makefile.clean kbuild: fix building external modules 2005-07-27 22:11:01 +02:00
Makefile.host [PATCH] kbuild: obey HOSTLOADLIBES_programname for single-file compilation 2005-07-13 22:11:14 +00:00
Makefile.lib kbuild: introduce Kbuild.include 2005-07-25 20:10:36 +00:00
Makefile.modinst kbuild: introduce Kbuild.include 2005-07-25 20:10:36 +00:00
Makefile.modpost kbuild: introduce Kbuild.include 2005-07-25 20:10:36 +00:00
makelst Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
mkcompile_h kbuild: "PREEMPT" in UTS_VERSION 2005-07-14 20:18:07 +00:00
mkmakefile Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
mksysmap Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
mkuboot.sh Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
mkversion Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
namespace.pl Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
patch-kernel [PATCH] patch-kernel: support non-incremental 2.6.x.y 'stable' patches 2005-05-05 16:36:40 -07:00
pnmtologo.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
reference_discarded.pl [PATCH] kbuild: ignore all debugging info sections in scripts/reference_discarded.pl 2005-09-10 15:09:02 +02:00
reference_init.pl buildcheck: reduce DEBUG_INFO noise from reference* scripts 2005-07-14 20:14:42 +00:00
setlocalversion [PATCH] kbuild: automatically append a short string to the version based upon the git commit 2005-08-10 21:11:23 +02:00
show_delta Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ver_linux [PATCH] Adapt scripts/ver_linux to new util-linux version strings 2005-09-07 16:57:33 -07:00