summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2006-01-14 13:21:33 -0800
committerLinus Torvalds <torvalds@g5.osdl.org>2006-01-14 18:27:16 -0800
commita9df3d0f312f4b1aefec76ae5ee86cccbf7cd4e0 (patch)
treefa0c3084c1c382c4187854286b2b217a99af039a /lib
parentac893963030ad70e528dc23270d499d650546a38 (diff)
downloadlinux-stable-a9df3d0f312f4b1aefec76ae5ee86cccbf7cd4e0.tar.gz
linux-stable-a9df3d0f312f4b1aefec76ae5ee86cccbf7cd4e0.tar.bz2
linux-stable-a9df3d0f312f4b1aefec76ae5ee86cccbf7cd4e0.zip
[PATCH] When CONFIG_CC_OPTIMIZE_FOR_SIZE, allow gcc4 to control inlining
If optimizing for size (CONFIG_CC_OPTIMIZE_FOR_SIZE), allow gcc4 compilers to decide what to inline and what not - instead of the kernel forcing gcc to inline all the time. This requires several places that require to be inlined to be marked as such, previous patches in this series do that. Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Arjan van de Ven <arjan@infradead.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'lib')
-rw-r--r--lib/Kconfig.debug14
1 files changed, 14 insertions, 0 deletions
diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
index a609235a517f..a314e663d517 100644
--- a/lib/Kconfig.debug
+++ b/lib/Kconfig.debug
@@ -195,6 +195,20 @@ config FRAME_POINTER
some architectures or if you use external debuggers.
If you don't debug the kernel, you can say N.
+config FORCED_INLINING
+ bool "Force gcc to inline functions marked 'inline'"
+ depends on DEBUG_KERNEL
+ default y
+ help
+ This option determines if the kernel forces gcc to inline the functions
+ developers have marked 'inline'. Doing so takes away freedom from gcc to
+ do what it thinks is best, which is desirable for the gcc 3.x series of
+ compilers. The gcc 4.x series have a rewritten inlining algorithm and
+ disabling this option will generate a smaller kernel there. Hopefully
+ this algorithm is so good that allowing gcc4 to make the decision can
+ become the default in the future, until then this option is there to
+ test gcc for this.
+
config RCU_TORTURE_TEST
tristate "torture tests for RCU"
depends on DEBUG_KERNEL