linux/kernel
Linus Torvalds b42172fc7b Don't call "note_interrupt()" with irq descriptor lock held
This reverts commit f72fa70760, and solves
the problem that it tried to fix by simply making "__do_IRQ()" call the
note_interrupt() function without the lock held, the way everybody else
does.

It should be noted that all interrupt handling code must never allow the
descriptor actors to be entered "recursively" (that's why we do all the
magic IRQ_PENDING stuff in the first place), so there actually is
exclusion at that much higher level, even in the absense of locking.

Acked-by: Vivek Goyal <vgoyal@in.ibm.com>
Acked-by:Pavel Emelianov <xemul@openvz.org>
Cc: Andrew Morton <akpm@osdl.org>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-11-22 09:32:06 -08:00
..
irq Don't call "note_interrupt()" with irq descriptor lock held 2006-11-22 09:32:06 -08:00
power [PATCH] swsusp: debugging 2006-11-03 12:27:58 -08:00
time [PATCH] time_adjust cleared before use 2006-10-28 11:30:55 -07:00
.gitignore
acct.c
audit.c [PATCH] kauditd_thread warning fix 2006-10-06 08:53:39 -07:00
audit.h
auditfilter.c [PATCH] arch filter lists with < or > should not be accepted 2006-10-04 08:31:16 -04:00
auditsc.c [PATCH] name_count array overrun 2006-10-04 08:31:21 -04:00
capability.c
compat.c [PATCH] Create compat_sys_migrate_pages 2006-11-03 12:27:59 -08:00
configs.c
cpu.c [PATCH] Fix the spurious unlock_cpu_hotplug false warnings 2006-11-06 01:46:22 -08:00
cpuset.c [PATCH] cpuset ANSI prototype 2006-10-10 15:37:23 -07:00
delayacct.c [PATCH] lockdep: fix delayacct locking bug 2006-11-06 01:46:23 -08:00
dma.c
exec_domain.c
exit.c [PATCH] taskstats_tgid_free: fix usage 2006-10-28 11:30:54 -07:00
extable.c
fork.c Revert "[PATCH] fix Data Acess error in dup_fd" 2006-11-14 15:20:51 -08:00
futex_compat.c [PATCH] __user annotations: futex 2006-10-10 15:37:22 -07:00
futex.c [PATCH] schedule removal of FUTEX_FD 2006-11-03 12:27:58 -08:00
hrtimer.c
itimer.c
kallsyms.c
Kconfig.hz
Kconfig.preempt
kexec.c
kfifo.c
kmod.c
kprobes.c
ksysfs.c
kthread.c
latency.c
lockdep_internals.h
lockdep_proc.c
lockdep.c [PATCH] lockdep: fix static keys in module-allocated percpu areas 2006-11-17 11:10:37 -08:00
Makefile [PATCH] srcu-3: RCU variant permitting read-side blocking 2006-10-04 07:55:30 -07:00
module.c [PATCH] ndiswrapper: don't set the module->taints flags 2006-10-30 12:08:40 -08:00
mutex-debug.c Lockdep: add lockdep_set_class_and_subclass() and lockdep_set_subclass() 2006-10-11 01:45:14 -04:00
mutex-debug.h
mutex.c
mutex.h
nsproxy.c [PATCH] kernel/nsproxy.c: use kmemdup() 2006-10-20 10:26:44 -07:00
panic.c
params.c
pid.c
posix-cpu-timers.c [PATCH] posix-cpu-timers: prevent signal delivery starvation 2006-10-17 08:18:43 -07:00
posix-timers.c
printk.c [PATCH] Add printk_timed_ratelimit() 2006-11-03 12:27:58 -08:00
profile.c [PATCH] bitmap: parse input from kernel and user buffers 2006-10-11 11:14:22 -07:00
ptrace.c
rcupdate.c [PATCH] rcu: simplify/improve batch tuning 2006-10-04 07:55:31 -07:00
rcutorture.c [PATCH] rcu: add sched torture type to rcutorture 2006-10-04 07:55:31 -07:00
relay.c [PATCH] make kernel/relay.c __user-clean 2006-10-10 15:37:22 -07:00
resource.c
rtmutex_common.h
rtmutex-debug.c Remove all inclusions of <linux/config.h> 2006-10-04 03:38:54 -04:00
rtmutex-debug.h
rtmutex-tester.c Remove all inclusions of <linux/config.h> 2006-10-04 03:38:54 -04:00
rtmutex.c
rtmutex.h
rwsem.c
sched.c [PATCH] readjust comments of task_timeslice for kernel doc 2006-10-20 10:26:37 -07:00
seccomp.c
signal.c Make sure "user->sigpending" count is in sync 2006-11-04 13:03:00 -08:00
softirq.c
softlockup.c
spinlock.c
srcu.c [PATCH] SRCU: report out-of-memory errors 2006-10-04 07:55:30 -07:00
stacktrace.c
stop_machine.c
sys_ni.c [PATCH] Create compat_sys_migrate_pages 2006-11-03 12:27:59 -08:00
sys.c [PATCH] SRCU: report out-of-memory errors 2006-10-04 07:55:30 -07:00
sysctl.c [PATCH] sysctl: allow a zero ctl_name in the middle of a sysctl table 2006-11-06 01:46:23 -08:00
taskstats.c [PATCH] taskstats: fix sub-threads accounting 2006-10-31 08:07:00 -08:00
time.c
timer.c
tsacct.c [PATCH] xacct_add_tsk: fix pure theoretical ->mm use-after-free 2006-10-30 12:08:41 -08:00
uid16.c
unwind.c [PATCH] x86-64: Speed up dwarf2 unwinder 2006-10-21 18:37:01 +02:00
user.c Fix unlikely (but possible) race condition on task->user access 2006-11-04 10:06:02 -08:00
utsname.c
wait.c
workqueue.c [PATCH] workqueue: update kerneldoc 2006-10-28 11:30:55 -07:00