Re: [patch] measurements, numbers about CONFIG_OPTIMIZE_INLINING=y impact

Andi Kleen
2009-01-09T18:55:09Z

> But _users_ just get their oopses sent automatically. So it's not about

If they send it from distro kernels the automated oops sender could
just fetch the debuginfo rpm and decode it down to a line.
My old automatic user segfault uploader I did originally
for the core pipe code did that too.

> "debugging kernels", it's about _normal_ kernels. They are the ones that
> need to be debuggable, and the ones that care most about things like the
> symbolic EIP being as helpful as possible.

Ok you're saying we should pay the 4.1% by default for this?
If you want that you can apply the appended patch.
Not sure if it's really a good idea though. 4.1% is a lot.

-Andi

---

Disable inlining of functions called once by default

This makes oopses easier to read because it's clearer in which
function the problem is.

Disadvantage: costs ~4.1% of text size (measured with allyesconfig
on gcc 4.1 on x86-64)

Signed-off-by: Andi Kleen <ak@linux.intel.com>

---
Makefile | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)

Index: linux-2.6.28-git12/Makefile
===================================================================
--- linux-2.6.28-git12.orig/Makefile 2009-01-09 07:06:44.000000000 +0100
+++ linux-2.6.28-git12/Makefile 2009-01-09 07:16:21.000000000 +0100
@@ -546,10 +546,8 @@
KBUILD_CFLAGS += -pg
endif

-# We trigger additional mismatches with less inlining
-ifdef CONFIG_DEBUG_SECTION_MISMATCH
+# Disable too aggressive inlining because it makes oopses harder to read
KBUILD_CFLAGS += $(call cc-option, -fno-inline-functions-called-once)
-endif

# arch Makefile may override CC so keep this after arch Makefile is included
NOSTDINC_FLAGS += -nostdinc -isystem $(shell $(CC) -print-file-name=include)

--
ak@linux.intel.com