Andi Kleen
c8399943bd
x86, generic: mark complex bitops.h inlines as __always_inline
...
Impact: reduce kernel image size
Hugh Dickins noticed that older gcc versions when the kernel
is built for code size didn't inline some of the bitops.
Mark all complex x86 bitops that have more than a single
asm statement or two as always inline to avoid this problem.
Probably should be done for other architectures too.
Ingo then found a better fix that only requires
a single line change, but it unfortunately only
works on gcc 4.3.
On older gccs the original patch still makes a ~0.3% defconfig
difference with CONFIG_OPTIMIZE_INLINING=y.
With gcc 4.1 and a defconfig like build:
6116998 1138540 883788 8139326 7c323e vmlinux-oi-with-patch
6137043 1138540 883788 8159371 7c808b vmlinux-optimize-inlining
~20k / 0.3% difference.
Signed-off-by: Andi Kleen <ak@linux.intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
2009-01-13 18:56:30 +01:00
..
2008-12-18 11:59:24 +01:00
2009-01-10 06:13:09 -08:00
2009-01-12 19:24:23 +01:00
2009-01-04 13:22:58 +01:00
2008-10-23 00:01:39 -07:00
2009-01-06 17:39:52 +01:00
2009-01-10 06:13:09 -08:00
2008-12-30 13:31:37 -08:00
2008-10-23 00:01:39 -07:00
2008-12-16 21:50:31 +01:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-11-11 21:12:05 -05:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2009-01-03 14:11:58 +01:00
2008-10-22 22:55:23 -07:00
2008-12-30 13:31:28 -08:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2009-01-06 15:59:10 -08:00
2009-01-06 15:59:10 -08:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2009-01-13 18:56:30 +01:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-12-16 18:40:32 +01:00
2008-10-22 22:55:23 -07:00
2009-01-06 18:10:27 -08:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-12-16 21:01:15 +01:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-12-23 22:37:28 +01:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-12-30 16:10:19 -08:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-12-20 09:15:46 +01:00
2008-11-23 13:20:52 +01:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-12-29 18:17:32 +01:00
2008-12-25 13:38:54 +01:00
2008-11-11 16:19:48 -08:00
2008-10-22 22:55:23 -07:00
2008-10-31 10:12:38 +01:00
2008-10-22 22:55:23 -07:00
2008-10-31 10:12:38 +01:00
2008-10-22 22:55:23 -07:00
2008-12-17 00:26:38 +01:00
2008-10-22 22:55:23 -07:00
2008-11-28 13:06:27 +01:00
2009-01-04 13:23:00 +01:00
2008-12-16 17:40:57 -08:00
2008-10-22 22:55:23 -07:00
2008-10-23 00:20:33 -07:00
2008-12-12 11:59:49 +01:00
2008-12-12 11:59:49 +01:00
2008-10-31 10:12:38 +01:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-11-11 13:51:52 -08:00
2008-10-22 22:55:23 -07:00
2008-11-01 18:57:08 -07:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-12-18 15:01:25 -08:00
2008-12-12 11:58:36 +01:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-12-03 08:26:40 +01:00
2008-12-30 16:20:19 -08:00
2008-12-03 08:26:40 +01:00
2008-10-22 22:55:23 -07:00
2008-11-09 10:07:58 -08:00
2008-12-30 16:10:19 -08:00
2008-10-22 22:55:23 -07:00
2008-12-16 17:40:57 -08:00
2008-11-10 08:41:47 +01:00
2008-10-23 00:20:33 -07:00
2008-12-08 14:31:52 +01:00
2009-01-03 18:53:31 +01:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2009-01-06 18:10:27 -08:00
2008-10-22 22:55:23 -07:00
2008-10-31 10:01:57 +01:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2009-01-03 14:11:07 +01:00
2008-10-22 22:55:23 -07:00
2008-12-31 16:55:42 +02:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2009-01-03 19:00:55 +01:00
2008-11-23 19:57:01 +01:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-12-16 18:47:17 +01:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-11-12 23:28:51 +01:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2009-01-05 14:08:34 +01:00
2008-12-29 18:17:30 +01:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-12-16 19:58:04 +01:00
2008-12-28 12:21:10 -08:00
2009-01-08 16:13:59 +01:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-12-17 18:58:19 +01:00
2008-12-29 18:17:36 +01:00
2008-10-22 22:55:23 -07:00
2008-12-31 23:05:57 +10:30
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-12-18 13:30:16 -08:00
Merge branches 'x86/apic', 'x86/cleanups', 'x86/cpufeature', 'x86/crashdump', 'x86/debug', 'x86/defconfig', 'x86/detect-hyper', 'x86/doc', 'x86/dumpstack', 'x86/early-printk', 'x86/fpu', 'x86/idle', 'x86/io', 'x86/memory-corruption-check', 'x86/microcode', 'x86/mm', 'x86/mtrr', 'x86/nmi-watchdog', 'x86/pat2', 'x86/pci-ioapic-boot-irq-quirks', 'x86/ptrace', 'x86/quirks', 'x86/reboot', 'x86/setup-memory', 'x86/signal', 'x86/sparse-fixes', 'x86/time', 'x86/uv' and 'x86/xen' into x86/core
2008-12-23 16:27:23 +01:00
2008-10-22 22:55:23 -07:00
2008-12-16 18:34:51 +01:00
2008-10-22 22:55:23 -07:00
2008-12-16 18:34:51 +01:00
Merge branches 'x86/apic', 'x86/cleanups', 'x86/cpufeature', 'x86/crashdump', 'x86/debug', 'x86/defconfig', 'x86/detect-hyper', 'x86/doc', 'x86/dumpstack', 'x86/early-printk', 'x86/fpu', 'x86/idle', 'x86/io', 'x86/memory-corruption-check', 'x86/microcode', 'x86/mm', 'x86/mtrr', 'x86/nmi-watchdog', 'x86/pat2', 'x86/pci-ioapic-boot-irq-quirks', 'x86/ptrace', 'x86/quirks', 'x86/reboot', 'x86/setup-memory', 'x86/signal', 'x86/sparse-fixes', 'x86/time', 'x86/uv' and 'x86/xen' into x86/core
2008-12-23 16:27:23 +01:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-12-16 21:10:27 +01:00
2008-10-22 22:55:23 -07:00
2008-12-28 12:21:10 -08:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-12-20 09:15:46 +01:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-11-12 18:55:46 +01:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2009-01-04 13:23:02 +01:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-12-18 15:01:22 -08:00
2008-10-22 22:55:23 -07:00
2008-12-16 21:10:28 +01:00
2009-01-04 15:39:26 +01:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-12-16 19:31:52 +01:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-12-31 16:52:28 +02:00
2009-01-06 18:10:27 -08:00
2008-12-28 10:04:00 +01:00
2008-10-22 22:55:23 -07:00
2008-12-29 13:18:40 +01:00
2008-10-23 12:38:39 -07:00
Merge branches 'x86/apic', 'x86/cleanups', 'x86/cpufeature', 'x86/crashdump', 'x86/debug', 'x86/defconfig', 'x86/detect-hyper', 'x86/doc', 'x86/dumpstack', 'x86/early-printk', 'x86/fpu', 'x86/idle', 'x86/io', 'x86/memory-corruption-check', 'x86/microcode', 'x86/mm', 'x86/mtrr', 'x86/nmi-watchdog', 'x86/pat2', 'x86/pci-ioapic-boot-irq-quirks', 'x86/ptrace', 'x86/quirks', 'x86/reboot', 'x86/setup-memory', 'x86/signal', 'x86/sparse-fixes', 'x86/time', 'x86/uv' and 'x86/xen' into x86/core
2008-12-23 16:27:23 +01:00
2008-10-22 22:55:23 -07:00
Merge branches 'x86/apic', 'x86/cleanups', 'x86/cpufeature', 'x86/crashdump', 'x86/debug', 'x86/defconfig', 'x86/detect-hyper', 'x86/doc', 'x86/dumpstack', 'x86/early-printk', 'x86/fpu', 'x86/idle', 'x86/io', 'x86/memory-corruption-check', 'x86/microcode', 'x86/mm', 'x86/mtrr', 'x86/nmi-watchdog', 'x86/pat2', 'x86/pci-ioapic-boot-irq-quirks', 'x86/ptrace', 'x86/quirks', 'x86/reboot', 'x86/setup-memory', 'x86/signal', 'x86/sparse-fixes', 'x86/time', 'x86/uv' and 'x86/xen' into x86/core
2008-12-23 16:27:23 +01:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-12-28 12:21:10 -08:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2009-01-03 18:53:31 +01:00
2008-12-08 13:49:45 +01:00
2008-12-18 22:33:13 +01:00
2008-11-09 21:05:43 +01:00
2008-10-22 22:55:23 -07:00
2008-10-28 16:54:49 +01:00
2008-12-04 08:52:14 +01:00
2008-12-30 16:10:19 -08:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-11-19 18:49:57 -08:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-12-31 16:52:30 +02:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-12-14 16:24:38 -08:00
2008-11-01 18:58:01 -07:00
2008-12-31 16:52:28 +02:00
2008-11-03 10:52:21 +01:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00