From: Denys Vlasenko <vda.linux@googlemail.com>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Tim Abbott <tabbott@mit.edu>,
Linux kernel mailing list <linux-kernel@vger.kernel.org>,
Anders Kaseorg <andersk@mit.edu>, Waseem Daher <wdaher@mit.edu>,
Rusty Russell <rusty@rustcorp.com.au>,
Andi Kleen <andi@firstfloor.org>,
"H. Peter Anvin" <hpa@zytor.com>,
Stephen Rothwell <sfr@canb.auug.org.au>,
Jeff Arnold <jbarnold@mit.edu>,
Andrew Morton <akpm@linux-foundation.org>,
Jon Masters <jonathan@jonmasters.org>
Subject: Re: [PATCH v2 0/4] Add support for compiling with -ffunction-sections -fdata-sections
Date: Tue, 21 Apr 2009 03:05:03 +0200 [thread overview]
Message-ID: <200904210305.03933.vda.linux@googlemail.com> (raw)
In-Reply-To: <alpine.LFD.2.00.0904201637280.2199@localhost.localdomain>
On Tuesday 21 April 2009 01:40, Linus Torvalds wrote:
> Quite frankly, every time I see something like this, I shudder.
>
> Why?
>
> The bugs in the toolchains tend to be infinite and _really_ annoying.
Most bugs are annoying. :)
> We'll end up with everything from "gcc-xyz cannot handle it" to
> "binutils-abc which was pre-released by RH/Ubuntu/SUSE will SIGSEGV".
>
> And those are the _good_ cases. The bad cases are just silently
> miscompiled/linked stuff under certain circumstances.
>
> In other words, I'm not going to merge it without a _lot_ of people
> pushing me on it with nice numbers etc. Because I absolutely hate the
> tools issues that I'm convinced will happen the moment I merge it.
In some cases, section garbage collection discards nearly 10% of dead
code/data from kernel image. Actually, every time I add it to
a software project, I see quite an amount of dead code/data
eliminated. Even sadistic manual splitting of every function
and data object into its own .o file doesn't match it.
I can put it another way: let machine do what it does better,
and faster, than humans ever can:
I was pushing a patch for aic7xxx driver which eliminated ~150k
of dead code. It took a lot of time to eventually make it reach
mainline kernel. On and off, it took years.
With section garbage collection, that patch would not be even needed,
as gcc+ld would automagically detect that that code is dead.
--
vda
next prev parent reply other threads:[~2009-04-21 1:04 UTC|newest]
Thread overview: 99+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-04-05 23:14 [PATCH v2 0/4] Add support for compiling with -ffunction-sections -fdata-sections Tim Abbott
2009-04-05 23:14 ` [PATCH v2 1/4] Make section names compatible " Tim Abbott
2009-04-05 23:14 ` [PATCH v2 2/4] modpost: Check the section flags, not name, to catch missing "ax"/"aw" Tim Abbott
2009-04-05 23:14 ` [PATCH v2 3/4] modpost: Support objects with more than 64k sections Tim Abbott
2009-04-05 23:14 ` [PATCH v2 4/4] x86: Add an option to compile with -ffunction-sections -fdata-sections Tim Abbott
2009-04-08 0:34 ` [PATCH v2 0/4] Add support for compiling " Tim Abbott
2009-04-08 5:22 ` Rusty Russell
2009-04-20 20:26 ` Tim Abbott
2009-04-20 23:40 ` Linus Torvalds
2009-04-21 0:26 ` Tim Abbott
2009-04-21 0:35 ` Linus Torvalds
2009-04-21 1:25 ` H. Peter Anvin
2009-04-21 1:49 ` Denys Vlasenko
2009-04-21 3:18 ` Arjan van de Ven
2009-04-21 3:26 ` Anders Kaseorg
2009-04-21 10:26 ` Andi Kleen
2009-04-21 6:01 ` Tim Abbott
2009-04-21 10:24 ` Andi Kleen
2009-04-23 20:48 ` [PATCH v3 0/3] " Tim Abbott
2009-04-23 20:49 ` [PATCH v3 1/3] Make section names compatible " Tim Abbott
2009-04-23 20:49 ` [PATCH v3 2/3] modpost: Check the section flags, not name, to catch missing "ax"/"aw" Tim Abbott
2009-04-23 20:49 ` [PATCH v3 3/3] modpost: Support objects with more than 64k sections Tim Abbott
2009-04-24 0:16 ` [PATCH v3 1/3] Make section names compatible with -ffunction-sections -fdata-sections Paul Mundt
2009-04-24 17:23 ` Sam Ravnborg
2009-04-26 2:10 ` Tim Abbott
2009-04-26 2:10 ` [PATCH 01/15] Add new HEAD_TEXT_SECTION macro Tim Abbott
2009-04-26 2:10 ` [PATCH 02/15] xtensa: convert to use __HEAD and HEAD_TEXT macros Tim Abbott
2009-04-26 2:10 ` [PATCH 03/15] alpha: " Tim Abbott
2009-04-26 2:10 ` [PATCH 04/15] frv: convert frv " Tim Abbott
2009-04-26 2:11 ` [PATCH 05/15] arm: convert " Tim Abbott
2009-04-26 2:11 ` [PATCH 06/15] ia64: " Tim Abbott
2009-04-26 2:11 ` [PATCH 07/15] m32r: " Tim Abbott
2009-04-26 2:11 ` [PATCH 08/15] m68k: " Tim Abbott
2009-04-26 2:11 ` [PATCH 09/15] mn10300: " Tim Abbott
2009-04-26 2:11 ` [PATCH 10/15] powerpc: " Tim Abbott
2009-04-26 2:11 ` [PATCH 11/15] s390: " Tim Abbott
2009-04-26 2:11 ` [PATCH 12/15] sh: " Tim Abbott
2009-04-26 2:11 ` [PATCH 13/15] sparc: " Tim Abbott
2009-04-26 2:11 ` [PATCH 14/15] x86: " Tim Abbott
2009-04-26 2:11 ` [PATCH 15/15] modpost: convert modpost to use HEAD_TEXT_SECTION macro Tim Abbott
2009-04-26 11:30 ` Sam Ravnborg
2009-04-26 22:18 ` Anders Kaseorg
2009-04-26 11:28 ` [PATCH 14/15] x86: convert to use __HEAD and HEAD_TEXT macros Sam Ravnborg
2009-04-26 16:40 ` Linus Torvalds
2009-04-26 17:12 ` Linus Torvalds
2009-04-26 18:34 ` Sam Ravnborg
2009-04-26 18:56 ` Linus Torvalds
2009-04-26 19:23 ` Sam Ravnborg
2009-04-26 21:07 ` [PATCH] x86: beautify vmlinux_64.lds.S Sam Ravnborg
2009-04-27 4:54 ` [tip:x86/kbuild] " tip-bot for Sam Ravnborg
2009-04-27 4:59 ` [PATCH 14/15] x86: convert to use __HEAD and HEAD_TEXT macros Ingo Molnar
2009-04-27 6:42 ` Sam Ravnborg
2009-04-27 7:19 ` Ingo Molnar
2009-04-27 7:37 ` Sam Ravnborg
2009-04-26 20:50 ` Andi Kleen
2009-04-27 3:47 ` Ingo Molnar
2009-04-30 10:39 ` [tip:x86/kbuild] x86: boot/compressed/vmlinux.lds.S: fix build of bzImage with 64 bit compiler tip-bot for Sam Ravnborg
2009-04-30 14:52 ` H. Peter Anvin
2009-04-30 15:09 ` Sam Ravnborg
2009-04-30 16:29 ` H. Peter Anvin
2009-04-30 17:52 ` Sam Ravnborg
2009-04-30 19:02 ` H. Peter Anvin
2009-04-26 11:24 ` [PATCH 13/15] sparc: convert to use __HEAD and HEAD_TEXT macros Sam Ravnborg
2009-04-26 11:24 ` [PATCH 12/15] sh: " Sam Ravnborg
2009-04-26 11:23 ` [PATCH 11/15] s390: " Sam Ravnborg
2009-04-26 11:23 ` [PATCH 10/15] powerpc: " Sam Ravnborg
2009-04-26 11:22 ` [PATCH 09/15] mn10300: " Sam Ravnborg
2009-04-26 11:22 ` [PATCH 08/15] m68k: " Sam Ravnborg
2009-04-26 11:21 ` [PATCH 07/15] m32r: " Sam Ravnborg
2009-04-28 3:34 ` Hirokazu Takata
2009-04-26 11:21 ` [PATCH 06/15] ia64: " Sam Ravnborg
2009-04-26 11:19 ` [PATCH 05/15] arm: " Sam Ravnborg
2009-04-27 16:46 ` Tim Abbott
2009-04-27 17:00 ` Russell King
2009-04-27 17:06 ` Linus Torvalds
2009-04-27 17:29 ` Luck, Tony
2009-04-28 8:56 ` Ralf Baechle
2009-04-26 11:16 ` [PATCH 04/15] frv: convert frv " Sam Ravnborg
2009-04-26 11:15 ` [PATCH 03/15] alpha: convert " Sam Ravnborg
2009-04-26 11:13 ` [PATCH 02/15] xtensa: " Sam Ravnborg
2009-04-26 16:29 ` [PATCH 01/15] Add new HEAD_TEXT_SECTION macro Linus Torvalds
2009-04-26 2:42 ` [PATCH v3 1/3] Make section names compatible with -ffunction-sections -fdata-sections Paul Mundt
2009-04-26 9:15 ` Sam Ravnborg
2009-04-26 9:20 ` [PATCH] kbuild: fix comment in modpost.c Sam Ravnborg
2009-04-26 17:28 ` Tim Abbott
2009-04-26 9:09 ` [PATCH v3 1/3] Make section names compatible with -ffunction-sections -fdata-sections Sam Ravnborg
2009-04-26 21:53 ` Tim Abbott
2009-04-26 13:09 ` Rusty Russell
2009-04-24 0:14 ` [PATCH v3 0/3] Add support for compiling " Paul Mundt
2009-04-24 14:19 ` Masami Hiramatsu
2009-04-24 15:32 ` Tim Abbott
2009-04-25 1:49 ` Masami Hiramatsu
2009-04-21 1:05 ` Denys Vlasenko [this message]
2009-04-21 5:50 ` [PATCH v2 0/4] " Rusty Russell
2009-04-22 12:47 ` Paul Mundt
2009-04-21 14:02 ` Américo Wang
2009-04-21 17:40 ` Anders Kaseorg
2009-04-22 11:38 ` Masami Hiramatsu
2009-04-22 17:13 ` Tim Abbott
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=200904210305.03933.vda.linux@googlemail.com \
--to=vda.linux@googlemail.com \
--cc=akpm@linux-foundation.org \
--cc=andersk@mit.edu \
--cc=andi@firstfloor.org \
--cc=hpa@zytor.com \
--cc=jbarnold@mit.edu \
--cc=jonathan@jonmasters.org \
--cc=linux-kernel@vger.kernel.org \
--cc=rusty@rustcorp.com.au \
--cc=sfr@canb.auug.org.au \
--cc=tabbott@mit.edu \
--cc=torvalds@linux-foundation.org \
--cc=wdaher@mit.edu \
/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).