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
..
irq
x86: add /proc/irq/*/spurious to dump the spurious irq debugging state
2008-01-30 13:32:48 +01:00
power
driver core: make /sys/power a kobject
2008-01-24 20:40:25 -08:00
time
time: track accurate idle time with tick_sched.idle_sleeptime
2008-01-30 13:30:04 +01:00
.gitignore
acct.c
acct: real_parent ppid
2008-01-07 14:55:37 -08:00
audit.c
audit.h
audit_tree.c
auditfilter.c
auditsc.c
auditsc: fix kernel-doc param warnings
2007-10-22 19:40:02 -07:00
capability.c
cgroup.c
Improve cgroup printks
2007-11-14 18:45:37 -08:00
cgroup_debug.c
compat.c
configs.c
cpu.c
cpu-hotplug: replace per-subsystem mutexes with get_online_cpus()
2008-01-25 21:08:02 +01:00
cpuset.c
cpu-hotplug: replace lock_cpu_hotplug() with get_online_cpus()
2008-01-25 21:08:02 +01:00
delayacct.c
dma.c
exec_domain.c
exit.c
wait_task_stopped(): pass correct exit_code to wait_noreap_copyout()
2007-11-29 09:24:55 -08:00
extable.c
module: Don't report discarded init pages as kernel text.
2008-01-29 17:13:18 +11:00
fork.c
kernel: add CLONE_IO to specifically request sharing of IO contexts
2008-01-28 10:50:36 +01:00
futex.c
futex: Prevent stale futex owner when interrupted/timeout
2008-01-08 16:21:39 -08:00
futex_compat.c
[FUTEX] Fix address computation in compat code.
2007-11-09 16:13:08 -08:00
hrtimer.c
hrtimer: unlock hrtimer_wakeup
2008-01-25 21:08:32 +01:00
itimer.c
kallsyms.c
module: make module_address_lookup safe
2008-01-29 17:13:23 +11:00
Kconfig.hz
sched: high-res preemption tick
2008-01-25 21:08:29 +01:00
Kconfig.instrumentation
Tiny clean-up of OPROFILE/KPROBES configuration
2007-12-06 09:41:12 -08:00
Kconfig.preempt
sched: remove the !PREEMPT_BKL code
2008-01-25 21:08:33 +01:00
kexec.c
vmcoreinfo: add the array length of "free_list" for filtering free pages
2008-01-08 16:10:36 -08:00
kfifo.c
kmod.c
Fix unbalanced helper_lock in kernel/kmod.c
2008-01-17 15:38:59 -08:00
kprobes.c
ksysfs.c
Kobject: convert remaining kobject_unregister() to kobject_put()
2008-01-24 20:40:40 -08:00
kthread.c
sched: fix, always create kernel threads with normal priority
2008-01-25 21:08:33 +01:00
latency.c
latencytop.c
sched: latencytop support
2008-01-25 21:08:34 +01:00
lockdep.c
softlockup: automatically detect hung TASK_UNINTERRUPTIBLE tasks
2008-01-25 21:08:02 +01:00
lockdep_internals.h
lockdep_proc.c
Makefile
sched: latencytop support
2008-01-25 21:08:34 +01:00
marker.c
Linux Kernel Markers: fix marker mutex not taken upon module load
2007-11-14 18:45:40 -08:00
module.c
Module: check to see if we have a built in module with the same name
2008-01-29 17:13:27 +11:00
mutex-debug.c
mutex-debug.h
mutex.c
mutex.h
notifier.c
ns_cgroup.c
nsproxy.c
panic.c
debug: move WARN_ON() out of line
2008-01-30 13:32:50 +01:00
params.c
module: fix the module name length in param_sysfs_builtin
2008-01-29 17:13:24 +11:00
pid.c
pidns: Place under CONFIG_EXPERIMENTAL
2007-11-14 18:45:43 -08:00
posix-cpu-timers.c
sched: rt-watchdog: fix .rlim_max = RLIM_INFINITY
2008-01-25 21:08:32 +01:00
posix-timers.c
printk.c
printk: revert ktime_get() timestamps
2008-01-27 08:03:54 +01:00
profile.c
debug: clean up kernel/profile.c
2008-01-25 21:08:33 +01:00
ptrace.c
x86: compat_sys_ptrace
2008-01-30 13:31:48 +01:00
rcuclassic.c
Preempt-RCU: implementation
2008-01-25 21:08:24 +01:00
rcupdate.c
Preempt-RCU: fix rcu_barrier for preemptive environment.
2008-01-25 21:08:24 +01:00
rcupreempt.c
Preempt-RCU: CPU Hotplug handling
2008-01-25 21:08:25 +01:00
rcupreempt_trace.c
Preempt-RCU: implementation
2008-01-25 21:08:24 +01:00
rcutorture.c
cpu-hotplug: replace lock_cpu_hotplug() with get_online_cpus()
2008-01-25 21:08:02 +01:00
relay.c
resource.c
Add IORESOUCE_BUSY flag for System RAM
2007-11-14 18:45:39 -08:00
rtmutex-debug.c
rtmutex-debug.h
rtmutex-tester.c
Driver core: change sysdev classes to use dynamic kobject names
2008-01-24 20:40:40 -08:00
rtmutex.c
rtmutex.h
rtmutex_common.h
rwsem.c
sched: mark rwsem functions as __sched for wchan/profiling
2007-12-18 15:21:13 +01:00
sched.c
spinlock: lockbreak cleanup
2008-01-30 13:31:20 +01:00
sched_debug.c
sched: keep total / count stats in addition to the max for
2008-01-25 21:08:35 +01:00
sched_fair.c
sched: keep total / count stats in addition to the max for
2008-01-25 21:08:35 +01:00
sched_idletask.c
sched: high-res preemption tick
2008-01-25 21:08:29 +01:00
sched_rt.c
sched: fix goto retry in pick_next_task_rt()
2008-01-25 21:08:34 +01:00
sched_stats.h
sched: clean up kernel/sched_stat.h
2007-11-28 15:52:56 +01:00
seccomp.c
signal.c
x86: rename the struct pt_regs members for 32/64-bit consistency
2008-01-30 13:30:56 +01:00
softirq.c
time: track accurate idle time with tick_sched.idle_sleeptime
2008-01-30 13:30:04 +01:00
softlockup.c
softlockup: fix signedness
2008-01-25 21:08:34 +01:00
spinlock.c
spinlock: lockbreak cleanup
2008-01-30 13:31:20 +01:00
srcu.c
stacktrace.c
stop_machine.c
cpu-hotplug: replace lock_cpu_hotplug() with get_online_cpus()
2008-01-25 21:08:02 +01:00
sys.c
x86: ignore the sys_getcpu() tcache parameter
2007-11-17 16:27:00 +01:00
sys_ni.c
[COMPAT]: Fix build on COMPAT platforms when CONFIG_NET is disabled.
2007-10-30 21:29:56 -07:00
sysctl.c
x86: various changes and cleanups to in_p/out_p delay details
2008-01-30 13:30:05 +01:00
sysctl_check.c
sysctl: Infrastructure for per namespace sysctls
2008-01-28 14:55:17 -08:00
taskstats.c
kernel/taskstats.c: fix bogus nlmsg_free()
2007-11-14 18:45:44 -08:00
time.c
timer.c
time: timer cleanups
2008-01-30 13:30:00 +01:00
tsacct.c
uid16.c
user.c
uids: merge multiple error paths in alloc_uid() into one
2008-01-25 21:08:26 +01:00
user_namespace.c
utsname.c
utsname_sysctl.c
Isolate the UTS namespace's domainname and hostname back
2007-11-29 09:24:53 -08:00
wait.c
workqueue.c
cpu-hotplug: replace per-subsystem mutexes with get_online_cpus()
2008-01-25 21:08:02 +01:00