Thomas Gleixner
f8953856eb
[PATCH] highres: do not run the TIMER_SOFTIRQ after switching to highres mode
...
The TIMER_SOFTIRQ runs the hrtimers during bootup until a usable
clocksource and clock event sources are registered. The switch to high
resolution mode happens inside of the TIMER_SOFTIRQ, but runs the softirq
afterwards. That way the tick emulation timer, which was set up in the
switch to highres might be executed in the softirq context, which is a BUG.
The rbtree has not to be touched by the softirq after the highres switch.
This BUG was observed by Andres Salomon, who provided the information to
debug it.
Return early from the softirq, when the switch was sucessful.
[dilinger@debian.org: add debug warning]
[akpm@linux-foundation.org: make debug warning compile]
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Andres Salomon <dilinger@debian.org>
Acked-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Andres Salomon <dilinger@debian.org>
Acked-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-03-06 09:30:25 -08:00
..
irq
[PATCH] genirq: Mask irqs when migrating them.
2007-02-26 10:34:08 -08:00
power
power management: no valid states w/o pm_ops
2007-02-23 14:52:09 -08:00
time
[PATCH] Save/restore periodic tick information over suspend/resume
2007-03-06 09:30:24 -08:00
.gitignore
acct.c
[PATCH] kernel: change uses of f_{dentry, vfsmnt} to use f_path
2006-12-08 08:28:42 -08:00
audit.c
[PATCH] audit config lockdown
2007-02-17 21:30:12 -05:00
audit.h
auditfilter.c
[PATCH] minor update to rule add/delete messages (ver 2)
2007-02-17 21:30:09 -05:00
auditsc.c
[PATCH] AUDIT_FD_PAIR
2007-02-17 21:30:15 -05:00
capability.c
[PATCH] pid: replace do/while_each_task_pid with do/while_each_pid_task
2007-02-12 09:48:32 -08:00
compat.c
[PATCH] Common compat_sys_sysinfo
2007-02-11 10:51:32 -08:00
configs.c
[PATCH] struct seq_operations and struct file_operations constification
2006-12-07 08:39:46 -08:00
cpu.c
[PATCH] swsusp: Change code ordering in disk.c
2007-02-11 10:51:19 -08:00
cpuset.c
[PATCH] mark struct inode_operations const 2
2007-02-12 09:48:46 -08:00
delayacct.c
[PATCH] slab: remove kmem_cache_t
2006-12-07 08:39:25 -08:00
dma.c
[PATCH] struct seq_operations and struct file_operations constification
2006-12-07 08:39:46 -08:00
exec_domain.c
exit.c
[PATCH] pid: replace is_orphaned_pgrp with is_current_pgrp_orphaned
2007-02-12 09:48:32 -08:00
extable.c
fork.c
[PATCH] hrtimers: namespace and enum cleanup
2007-02-16 08:13:58 -08:00
futex.c
[PATCH] hrtimers: namespace and enum cleanup
2007-02-16 08:13:58 -08:00
futex_compat.c
[PATCH] __user annotations: futex
2006-10-10 15:37:22 -07:00
hrtimer.c
[PATCH] highres: do not run the TIMER_SOFTIRQ after switching to highres mode
2007-03-06 09:30:25 -08:00
itimer.c
[PATCH] hrtimers: prevent possible itimer DoS
2007-02-16 08:13:59 -08:00
kallsyms.c
[PATCH] move kallsyms data to .rodata
2006-12-08 08:28:37 -08:00
Kconfig.hz
[PATCH] HZ: 300Hz support
2006-12-07 08:39:36 -08:00
Kconfig.preempt
kexec.c
Merge branch 'release' of master.kernel.org:/pub/scm/linux/kernel/git/aegl/linux-2.6
2006-12-07 15:39:22 -08:00
kfifo.c
[PATCH] Numerous fixes to kernel-doc info in source files.
2007-02-11 10:51:32 -08:00
kmod.c
Revert "Driver core: let request_module() send a /sys/modules/kmod/-uevent"
2007-02-23 14:54:57 -08:00
kprobes.c
[PATCH] kprobes: list all active probes in the system
2007-02-20 17:10:14 -08:00
ksysfs.c
kthread.c
[PATCH] Numerous fixes to kernel-doc info in source files.
2007-02-11 10:51:32 -08:00
latency.c
[PATCH] severing module.h->sched.h
2006-12-04 02:00:22 -05:00
lockdep.c
[PATCH] fix section mismatch warning in lockdep
2007-03-01 14:53:37 -08:00
lockdep_internals.h
[PATCH] lockdep: more chains
2006-12-07 08:39:43 -08:00
lockdep_proc.c
[PATCH] remove many unneeded #includes of sched.h
2007-02-14 08:09:54 -08:00
Makefile
[PATCH] sysctl: move utsname sysctls to their own file
2007-02-14 08:09:58 -08:00
module.c
Revert "Driver core: let request_module() send a /sys/modules/kmod/-uevent"
2007-02-23 14:54:57 -08:00
mutex-debug.c
[PATCH] remove many unneeded #includes of sched.h
2007-02-14 08:09:54 -08:00
mutex-debug.h
mutex.c
[PATCH] lockdep: avoid lockdep warning in md
2006-12-08 08:28:39 -08:00
mutex.h
nsproxy.c
Revert "[PATCH] namespaces: fix exit race by splitting exit"
2007-01-30 13:35:18 -08:00
panic.c
[PATCH] Add TAINT_USER and ability to set taint flags from userspace
2007-02-11 10:51:29 -08:00
params.c
Revert "Driver core: let request_module() send a /sys/modules/kmod/-uevent"
2007-02-23 14:54:57 -08:00
pid.c
[PATCH] namespaces: fix task exit disaster
2007-01-30 13:40:36 -08:00
posix-cpu-timers.c
[PATCH] posix timers: RCU optimization for clock_gettime()
2007-02-16 08:14:00 -08:00
posix-timers.c
[PATCH] hrtimers: add high resolution timer support
2007-02-16 08:13:59 -08:00
printk.c
kernel/printk.c: comment fix
2007-02-17 20:10:16 +01:00
profile.c
[PATCH] proc: remove useless (and buggy) ->nlink settings
2007-02-11 10:51:32 -08:00
ptrace.c
[PATCH] pidspace: is_init()
2006-09-29 09:18:12 -07:00
rcupdate.c
[PATCH] rcu: add a prefetch() in rcu_do_batch()
2006-12-07 08:39:40 -08:00
rcutorture.c
[PATCH] rcu: rcutorture suspend fix
2006-12-30 10:55:55 -08:00
relay.c
[PATCH] kernel-doc fixes for 2.6.20-git15 (non-drivers)
2007-03-01 14:53:37 -08:00
resource.c
[PATCH] remove many unneeded #includes of sched.h
2007-02-14 08:09:54 -08:00
rtmutex-debug.c
Remove all inclusions of <linux/config.h>
2006-10-04 03:38:54 -04:00
rtmutex-debug.h
rtmutex-tester.c
[PATCH] Add include/linux/freezer.h and move definitions from sched.h
2006-12-07 08:39:27 -08:00
rtmutex.c
[PATCH] hrtimers: namespace and enum cleanup
2007-02-16 08:13:58 -08:00
rtmutex.h
rtmutex_common.h
rwsem.c
sched.c
[PATCH] sched: remove SMT nice
2007-03-05 07:57:51 -08:00
seccomp.c
signal.c
Merge master.kernel.org:/pub/scm/linux/kernel/git/kyle/parisc-2.6
2007-02-26 12:48:06 -08:00
softirq.c
[PATCH] tick-management: dyntick / highres functionality
2007-02-16 08:13:59 -08:00
softlockup.c
[PATCH] check return value of cpu_callback
2006-09-29 09:18:14 -07:00
spinlock.c
[PATCH] lockdep: spin_lock_irqsave_nested()
2006-11-25 13:28:34 -08:00
srcu.c
[PATCH] SRCU: report out-of-memory errors
2006-10-04 07:55:30 -07:00
stacktrace.c
stop_machine.c
[PATCH] stop_machine.c copyright
2006-09-29 09:18:24 -07:00
sys.c
[PATCH] pid: replace do/while_each_task_pid with do/while_each_pid_task
2007-02-12 09:48:32 -08:00
sys_ni.c
[PATCH] Create compat_sys_migrate_pages
2006-11-03 12:27:59 -08:00
sysctl.c
[PATCH] fix the SYSCTL=n compilation
2007-03-01 14:53:37 -08:00
taskstats.c
[PATCH] taskstats: cleanup reply assembling
2006-12-07 08:39:34 -08:00
time.c
[PATCH] Fix multiple conversion bugs in msecs_to_jiffies
2007-02-16 08:13:56 -08:00
timer.c
[PATCH] Save/restore periodic tick information over suspend/resume
2007-03-06 09:30:24 -08:00
tsacct.c
[PATCH] time: x86_64: split x86_64/kernel/time.c up
2007-02-16 08:14:00 -08:00
uid16.c
user.c
[PATCH] slab: remove kmem_cache_t
2006-12-07 08:39:25 -08:00
utsname.c
[PATCH] namespaces: utsname: implement CLONE_NEWUTS flag
2006-10-02 07:57:22 -07:00
utsname_sysctl.c
[PATCH] sysctl: remove insert_at_head from register_sysctl
2007-02-14 08:09:59 -08:00
wait.c
workqueue.c
[PATCH] Add debugging feature /proc/timer_stat
2007-02-16 08:13:59 -08:00