Peter Zijlstra
ab63a633cf
sched: fix unconditional irq lock
Lockdep noticed that this lock can also be taken from hardirq context, and can
thus not unconditionally disable/enable irqs.
WARNING: at kernel/lockdep.c:2033 trace_hardirqs_on()
[show_trace_log_lvl+26/48] show_trace_log_lvl+0x1a/0x30
[show_trace+18/32] show_trace+0x12/0x20
[dump_stack+22/32] dump_stack+0x16/0x20
[trace_hardirqs_on+405/416] trace_hardirqs_on+0x195/0x1a0
[_read_unlock_irq+34/48] _read_unlock_irq+0x22/0x30
[sched_debug_show+2615/4224] sched_debug_show+0xa37/0x1080
[show_state_filter+326/368] show_state_filter+0x146/0x170
[sysrq_handle_showstate+10/16] sysrq_handle_showstate+0xa/0x10
[__handle_sysrq+123/288] __handle_sysrq+0x7b/0x120
[handle_sysrq+40/64] handle_sysrq+0x28/0x40
[kbd_event+1045/1680] kbd_event+0x415/0x690
[input_pass_event+206/208] input_pass_event+0xce/0xd0
[input_handle_event+170/928] input_handle_event+0xaa/0x3a0
[input_event+95/112] input_event+0x5f/0x70
[atkbd_interrupt+434/1456] atkbd_interrupt+0x1b2/0x5b0
[serio_interrupt+59/128] serio_interrupt+0x3b/0x80
[i8042_interrupt+263/576] i8042_interrupt+0x107/0x240
[handle_IRQ_event+40/96] handle_IRQ_event+0x28/0x60
[handle_edge_irq+175/320] handle_edge_irq+0xaf/0x140
[do_IRQ+64/128] do_IRQ+0x40/0x80
[common_interrupt+46/52] common_interrupt+0x2e/0x34
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
|
2007-10-25 14:02:45 +02:00 |
| .. |
|
irq
|
Fix synchronize_irq races with IRQ handler
|
2007-10-23 09:01:31 -07:00 |
|
power
|
trivial copy_data_pages() tidy up
|
2007-10-20 02:26:04 +02:00 |
|
time
|
Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6
|
2007-10-19 13:12:46 -07:00 |
|
.gitignore
|
|
|
|
acct.c
|
whitespace fixes: process accounting
|
2007-10-18 14:37:24 -07:00 |
|
audit.c
|
[PATCH] audit: watching subtrees
|
2007-10-21 02:37:45 -04:00 |
|
audit.h
|
[PATCH] audit: watching subtrees
|
2007-10-21 02:37:45 -04:00 |
|
audit_tree.c
|
[PATCH] audit: watching subtrees
|
2007-10-21 02:37:45 -04:00 |
|
auditfilter.c
|
[PATCH] audit: watching subtrees
|
2007-10-21 02:37:45 -04:00 |
|
auditsc.c
|
auditsc: fix kernel-doc param warnings
|
2007-10-22 19:40:02 -07:00 |
|
capability.c
|
Uninline find_pid etc set of functions
|
2007-10-19 11:53:41 -07:00 |
|
cgroup.c
|
cgroup: kill unused variable
|
2007-10-23 21:28:39 -04:00 |
|
cgroup_debug.c
|
Task Control Groups: simple task cgroup debug info subsystem
|
2007-10-19 11:53:36 -07:00 |
|
compat.c
|
Merge ssh://master.kernel.org/pub/scm/linux/kernel/git/tglx/linux-2.6-hrt
|
2007-10-18 15:12:41 -07:00 |
|
configs.c
|
use simple_read_from_buffer in kernel/
|
2007-05-09 12:30:49 -07:00 |
|
cpu.c
|
CPU HOTPLUG: avoid hotadd when proper possible_map isn't specified
|
2007-10-19 11:53:44 -07:00 |
|
cpu_acct.c
|
Task Control Groups: example CPU accounting subsystem
|
2007-10-19 11:53:36 -07:00 |
|
cpuset.c
|
hotplug cpu: migrate a task within its cpuset
|
2007-10-19 11:53:44 -07:00 |
|
delayacct.c
|
Add scaled time to taskstats based process accounting
|
2007-10-18 14:37:28 -07:00 |
|
dma.c
|
whitespace fixes: DMA channel allocator
|
2007-10-18 14:37:24 -07:00 |
|
exec_domain.c
|
whitespace fixes: execution domains
|
2007-10-18 14:37:26 -07:00 |
|
exit.c
|
Uninline fork.c/exit.c
|
2007-10-19 11:53:56 -07:00 |
|
extable.c
|
|
|
|
fork.c
|
Uninline fork.c/exit.c
|
2007-10-19 11:53:56 -07:00 |
|
futex.c
|
Uninline find_task_by_xxx set of functions
|
2007-10-19 11:53:40 -07:00 |
|
futex_compat.c
|
Uninline find_task_by_xxx set of functions
|
2007-10-19 11:53:40 -07:00 |
|
hrtimer.c
|
fix comment: unlock_hrtimer_base is the counterpart of lock_hrtimer_base
|
2007-10-20 01:56:53 +02:00 |
|
itimer.c
|
whitespace fixes: interval timers
|
2007-10-18 14:37:26 -07:00 |
|
kallsyms.c
|
kallsyms: make KSYM_NAME_LEN include space for trailing '\0'
|
2007-07-17 10:23:03 -07:00 |
|
Kconfig.hz
|
|
|
|
Kconfig.instrumentation
|
Linux Kernel Markers
|
2007-10-19 11:53:54 -07:00 |
|
Kconfig.preempt
|
Move PREEMPT_NOTIFIERS into an always-included Kconfig
|
2007-10-17 08:42:55 -07:00 |
|
kexec.c
|
Extended crashkernel command line
|
2007-10-19 11:53:49 -07:00 |
|
kfifo.c
|
is_power_of_2: kernel/kfifo.c
|
2007-07-16 09:05:50 -07:00 |
|
kmod.c
|
Restore call_usermodehelper_pipe() behaviour
|
2007-09-11 17:21:20 -07:00 |
|
kprobes.c
|
kprobes: support kretprobe blacklist
|
2007-10-16 09:43:10 -07:00 |
|
ksysfs.c
|
add-vmcore: cleanup the coding style according to Andrew's comments
|
2007-10-17 08:42:54 -07:00 |
|
kthread.c
|
kthread: silence bogus section mismatch warning
|
2007-07-31 15:39:42 -07:00 |
|
latency.c
|
|
|
|
lockdep.c
|
Use helpers to obtain task pid in printks
|
2007-10-19 11:53:43 -07:00 |
|
lockdep_internals.h
|
|
|
|
lockdep_proc.c
|
lockdep: Avoid /proc/lockdep & lock_stat infinite output
|
2007-10-11 22:11:11 +02:00 |
|
Makefile
|
[PATCH] audit: watching subtrees
|
2007-10-21 02:37:45 -04:00 |
|
marker.c
|
Linux Kernel Markers
|
2007-10-19 11:53:54 -07:00 |
|
module.c
|
Linux Kernel Markers
|
2007-10-19 11:53:54 -07:00 |
|
mutex-debug.c
|
|
|
|
mutex-debug.h
|
|
|
|
mutex.c
|
lockdep: fixup mutex annotations
|
2007-10-11 22:11:12 +02:00 |
|
mutex.h
|
|
|
|
notifier.c
|
Add kernel/notifier.c
|
2007-10-19 11:53:34 -07:00 |
|
ns_cgroup.c
|
cgroups: implement namespace tracking subsystem
|
2007-10-19 11:53:37 -07:00 |
|
nsproxy.c
|
pid namespaces: allow cloning of new namespace
|
2007-10-19 11:53:39 -07:00 |
|
panic.c
|
trivial comment wording/typo fix regarding taint flags
|
2007-10-20 00:30:06 +02:00 |
|
params.c
|
param_sysfs_builtin memchr argument fix
|
2007-10-18 14:37:21 -07:00 |
|
pid.c
|
Uninline the task_xid_nr_ns() calls
|
2007-10-19 11:53:41 -07:00 |
|
posix-cpu-timers.c
|
Isolate some explicit usage of task->tgid
|
2007-10-19 11:53:40 -07:00 |
|
posix-timers.c
|
Isolate some explicit usage of task->tgid
|
2007-10-19 11:53:40 -07:00 |
|
printk.c
|
serial: turn serial console suspend a boot rather than compile time option
|
2007-10-18 14:37:19 -07:00 |
|
profile.c
|
make kernel/profile.c:time_hook static
|
2007-10-17 08:42:55 -07:00 |
|
ptrace.c
|
Isolate some explicit usage of task->tgid
|
2007-10-19 11:53:40 -07:00 |
|
rcupdate.c
|
Clean up duplicate includes in kernel/
|
2007-10-17 08:42:48 -07:00 |
|
rcutorture.c
|
Make rcutorture RNG use temporal entropy
|
2007-10-17 08:42:53 -07:00 |
|
relay.c
|
whitespace fixes: relayfs
|
2007-10-18 14:37:24 -07:00 |
|
resource.c
|
memory unplug: memory hotplug cleanup
|
2007-10-16 09:43:01 -07:00 |
|
rtmutex-debug.c
|
Use helpers to obtain task pid in printks
|
2007-10-19 11:53:43 -07:00 |
|
rtmutex-debug.h
|
|
|
|
rtmutex-tester.c
|
Freezer: make kernel threads nonfreezable by default
|
2007-07-17 10:23:02 -07:00 |
|
rtmutex.c
|
Use helpers to obtain task pid in printks
|
2007-10-19 11:53:43 -07:00 |
|
rtmutex.h
|
|
|
|
rtmutex_common.h
|
FUTEX: Tidy up the code
|
2007-07-16 09:05:49 -07:00 |
|
rwsem.c
|
lockstat: hook into spinlock_t, rwlock_t, rwsem and mutex
|
2007-07-19 10:04:49 -07:00 |
|
sched.c
|
sched: don't clear PF_VCPU in scheduler
|
2007-10-22 12:03:29 +02:00 |
|
sched_debug.c
|
sched: fix unconditional irq lock
|
2007-10-25 14:02:45 +02:00 |
|
sched_fair.c
|
sched: fix new task startup crash
|
2007-10-17 16:55:11 +02:00 |
|
sched_idletask.c
|
sched: mark scheduling classes as const
|
2007-10-15 17:00:12 +02:00 |
|
sched_rt.c
|
sched: tidy up SCHED_RR
|
2007-10-15 17:00:13 +02:00 |
|
sched_stats.h
|
sched: reduce schedstat variable overhead a bit
|
2007-10-18 21:32:56 +02:00 |
|
seccomp.c
|
make seccomp zerocost in schedule
|
2007-07-16 09:05:50 -07:00 |
|
signal.c
|
Use helpers to obtain task pid in printks
|
2007-10-19 11:53:43 -07:00 |
|
softirq.c
|
[KERNEL]: Unexport raise_softirq_irqoff
|
2007-10-10 16:49:18 -07:00 |
|
softlockup.c
|
Use helpers to obtain task pid in printks
|
2007-10-19 11:53:43 -07:00 |
|
spinlock.c
|
lockstat: hook into spinlock_t, rwlock_t, rwsem and mutex
|
2007-07-19 10:04:49 -07:00 |
|
srcu.c
|
|
|
|
stacktrace.c
|
|
|
|
stop_machine.c
|
Fix stop_machine_run problem with naughty real time process
|
2007-07-16 09:05:41 -07:00 |
|
sys.c
|
Isolate the explicit usage of signal->pgrp
|
2007-10-19 11:53:43 -07:00 |
|
sys_ni.c
|
kernel/sys_ni.c: add dummy sys_ni_syscall() prototype
|
2007-10-17 08:42:55 -07:00 |
|
sysctl.c
|
pid namespaces: changes to show virtual ids to user
|
2007-10-19 11:53:40 -07:00 |
|
sysctl_check.c
|
Fix appletalk sysctl entry name
|
2007-10-22 19:15:59 -07:00 |
|
taskstats.c
|
Fix misspellings of "system", "controller", "interrupt" and "necessary".
|
2007-10-19 23:10:43 +02:00 |
|
time.c
|
whitespace fixes: time syscalls
|
2007-10-18 14:37:24 -07:00 |
|
timer.c
|
pid namespaces: changes to show virtual ids to user
|
2007-10-19 11:53:40 -07:00 |
|
tsacct.c
|
Add scaled time to taskstats based process accounting
|
2007-10-18 14:37:28 -07:00 |
|
uid16.c
|
header cleaning: don't include smp_lock.h when not used
|
2007-05-08 11:15:07 -07:00 |
|
user.c
|
Merge git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched
|
2007-10-17 09:11:18 -07:00 |
|
user_namespace.c
|
Fix user namespace exiting OOPs
|
2007-09-19 11:24:18 -07:00 |
|
utsname.c
|
Fix UTS corruption during clone(CLONE_NEWUTS)
|
2007-09-19 11:24:17 -07:00 |
|
utsname_sysctl.c
|
remove CONFIG_UTS_NS and CONFIG_IPC_NS
|
2007-07-16 09:05:47 -07:00 |
|
wait.c
|
Fix occurrences of "the the "
|
2007-05-09 08:57:56 +02:00 |
|
workqueue.c
|
Use helpers to obtain task pid in printks
|
2007-10-19 11:53:43 -07:00 |