Arjan van de Ven
79b4cc5ee7
debug: move WARN_ON() out of line
...
A quick grep shows that there are currently 1145 instances of WARN_ON
in the kernel. Currently, WARN_ON is pretty much entirely inlined,
which makes it hard to enhance it without growing the size of the kernel
(and getting Andrew unhappy).
This patch build on top of Olof's patch that introduces __WARN,
and places the slowpath out of line. It also uses Ingo's suggestion
to not use __FUNCTION__ but to use kallsyms to do the lookup;
this saves a ton of extra space since gcc doesn't need to store the function
string twice now:
3936367 833603 624736 5394706 525112 vmlinux.before
3917508 833603 624736 5375847 520767 vmlinux-slowpath
15Kb savings...
Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
CC: Andrew Morton <akpm@linux-foundation.org>
CC: Olof Johansson <olof@lixom.net>
Acked-by: Matt Meckall <mpm@selenic.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2008-01-30 13:32:50 +01:00
..
bitops
ext4: Add ext4_find_next_bit()
2008-01-28 23:58:27 -05:00
4level-fixup.h
[PATCH] Standardize pxx_page macros
2006-09-26 08:48:51 -07:00
atomic.h
atomic.h: atomic_add_unless as inline. Remove system.h atomic.h circular dependency
2007-05-08 11:15:20 -07:00
audit_change_attr.h
[PATCH] fix missing ifdefs in syscall classes hookup for generic targets
2006-09-22 17:48:56 -07:00
audit_dir_write.h
[PATCH] fix missing ifdefs in syscall classes hookup for generic targets
2006-09-22 17:48:56 -07:00
audit_read.h
[PATCH] audit: more syscall classes added
2006-09-11 13:32:27 -04:00
audit_signal.h
[PATCH] add SIGNAL syscall class (v3)
2007-05-11 05:38:25 -04:00
audit_write.h
[PATCH] audit: more syscall classes added
2006-09-11 13:32:27 -04:00
bitops.h
forbid asm/bitops.h direct inclusion
2007-10-19 11:53:41 -07:00
bug.h
debug: move WARN_ON() out of line
2008-01-30 13:32:50 +01:00
cputime.h
device.h
Driver core: add dev_archdata to struct device
2006-12-01 14:52:01 -08:00
div64.h
[NET]: div64_64 consolidate (rev3)
2007-04-25 22:23:33 -07:00
dma-mapping-broken.h
dma-mapping: prevent dma dependent code from linking on !HAS_DMA archs
2007-07-16 09:05:45 -07:00
dma-mapping.h
[PATCH] Pass struct dev pointer to dma_cache_sync()
2006-12-07 08:39:41 -08:00
emergency-restart.h
errno-base.h
errno.h
fcntl.h
Introduce O_CLOEXEC
2007-07-16 09:05:45 -07:00
futex.h
[PATCH] mm: pagefault_{disable,enable}()
2006-12-07 08:39:21 -08:00
gpio.h
[PATCH] GPIO core
2007-02-12 09:48:34 -08:00
ide_iops.h
ioctl.h
iomap.h
irq_regs.h
IRQ: Maintain regs pointer globally rather than passing to IRQ handlers
2006-10-05 15:10:12 +01:00
Kbuild
remove include/asm-*/ipc.h
2007-10-17 08:42:55 -07:00
Kbuild.asm
unexport asm/shmparam.h
2007-10-17 08:42:47 -07:00
kdebug.h
move die notifier handling to common code
2007-05-08 11:15:04 -07:00
libata-portmap.h
libata-portmap: Remove unused definitions
2007-10-12 14:55:37 -04:00
local.h
local_t: architecture independent extension
2007-05-08 11:15:20 -07:00
memory_model.h
Generic Virtual Memmap support for SPARSEMEM
2007-10-16 09:42:51 -07:00
mm_hooks.h
[PATCH] x86: PARAVIRT: add hooks to intercept mm creation and destruction
2007-05-02 19:27:14 +02:00
mman.h
[PATCH] Remove final references to deprecated "MAP_ANON" page protection flag
2007-02-11 10:51:17 -08:00
mutex-dec.h
fix file specification in comments
2006-10-03 23:01:26 +02:00
mutex-null.h
fix file specification in comments
2006-10-03 23:01:26 +02:00
mutex-xchg.h
fix file specification in comments
2006-10-03 23:01:26 +02:00
page.h
Revert "[PATCH] LOG2: Alter get_order() so that it can make use of ilog2() on a constant"
2007-03-06 19:38:01 -08:00
pci-dma-compat.h
pci.h
percpu.h
define new percpu interface for shared data
2007-07-19 10:04:44 -07:00
pgtable-nopmd.h
[PATCH] Standardize pxx_page macros
2006-09-26 08:48:51 -07:00
pgtable-nopud.h
[PATCH] Standardize pxx_page macros
2006-09-26 08:48:51 -07:00
pgtable.h
flush icache before set_pte() on ia64: flush icache at set_pte
2007-10-16 09:42:59 -07:00
poll.h
Consolidate asm/poll.h
2007-05-11 08:29:34 -07:00
resource.h
sched: SCHED_FIFO/SCHED_RR watchdog timer
2008-01-25 21:08:27 +01:00
rtc.h
fix file specification in comments
2006-10-03 23:01:26 +02:00
sections.h
siginfo.h
signal.h
statfs.h
termios.h
Define termios_1 functions for powerpc, s390, avr32 and frv
2007-09-12 09:08:05 -07:00
tlb.h
Revert quicklist need->flush fix
2007-12-26 22:04:09 -08:00
topology.h
uaccess.h
unaligned.h
use __val in __get_unaligned
2007-07-31 15:39:42 -07:00
vmlinux.lds.h
Introduce new section reference annotations tags: __ref, __refdata, __refconst
2008-01-28 23:21:19 +01:00
xor.h