kernel-ark/kernel
Ingo Molnar f704f56af9 [PATCH] enable PREEMPT_BKL on !PREEMPT+SMP too
The only sane way to clean up the current 3 lock_kernel() variants seems to
be to remove the spinlock-based BKL implementations altogether, and to keep
the semaphore-based one only.  If we dont want to do that for whatever
reason then i'm afraid we have to live with the current complexity.  (but
i'm open for other cleanup suggestions as well.)

To explore this possibility we'll (at a minimum) have to know whether the
semaphore-based BKL works fine on plain SMP too.  The patch below enables
this.

The patch may make sense in isolation as well, as it might bring
performance benefits: code that would formerly spin on the BKL spinlock
will now schedule away and give up the CPU.  It might introduce performance
regressions as well, if any performance-critical code uses the BKL heavily
and gets overscheduled due to the semaphore.  I very much hope there is no
such performance-critical codepath left though.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-06-25 16:24:45 -07:00
..
irq [PATCH] make various thing static 2005-06-24 00:06:43 -07:00
power [PATCH] swsusp: only allow it when it makes sense 2005-06-25 16:24:34 -07:00
acct.c
audit.c
auditsc.c
capability.c
compat.c
configs.c
cpu.c [PATCH] i386 CPU hotplug 2005-06-25 16:24:29 -07:00
cpuset.c [PATCH] Dynamic sched domains: cpuset changes 2005-06-25 16:24:45 -07:00
dma.c
exec_domain.c
exit.c [PATCH] Optimize sys_times for a single thread process 2005-06-23 09:45:30 -07:00
extable.c
fork.c [PATCH] sched: consolidate sbe sbf 2005-06-25 16:24:44 -07:00
futex.c
intermodule.c
itimer.c
kallsyms.c
Kconfig.hz
Kconfig.preempt [PATCH] enable PREEMPT_BKL on !PREEMPT+SMP too 2005-06-25 16:24:45 -07:00
kfifo.c
kmod.c [PATCH] Keys: Pass session keyring to call_usermodehelper() 2005-06-24 00:05:18 -07:00
kprobes.c
ksysfs.c
kthread.c
Makefile
module.c [PATCH] make various thing static 2005-06-24 00:06:43 -07:00
panic.c
params.c
pid.c
posix-cpu-timers.c
posix-timers.c
printk.c [PATCH] CPU hotplug printk fix 2005-06-25 16:24:34 -07:00
profile.c
ptrace.c
rcupdate.c
resource.c
sched.c [PATCH] Dynamic sched domains: sched changes 2005-06-25 16:24:45 -07:00
seccomp.c
signal.c [PATCH] Software suspend and recalc sigpending bug fix 2005-06-23 09:45:27 -07:00
softirq.c
spinlock.c
stop_machine.c
sys_ni.c
sys.c [PATCH] properly stop devices before poweroff 2005-06-25 16:24:33 -07:00
sysctl.c
time.c
timer.c
uid16.c
user.c
wait.c
workqueue.c