https://github.com/torvalds/linux
Revision 41e1022eae71707f1ce6801a746f70b1e57b7567 authored by Thomas Gleixner on 29 September 2008, 12:09:39 UTC, committed by Thomas Gleixner on 29 September 2008, 15:09:14 UTC
Impact: Stale timers after a CPU went offline.

commit 37bb6cb4097e29ffee970065b74499cbf10603a3
       hrtimer: unlock hrtimer_wakeup

changed the hrtimer sleeper callback mode to CB_IRQSAFE_NO_SOFTIRQ due
to locking problems. A result of this change is that when enqueue is
called for an already expired hrtimer the callback function is not
longer called directly from the enqueue code. The normal callers have
been fixed in the code, but the migration code which moves hrtimers
from a dead CPU to a live CPU was not made aware of this.

This can be fixed by checking the timer state after the call to
enqueue in the migration code.


Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
1 parent 7659e34
History
Tip revision: 41e1022eae71707f1ce6801a746f70b1e57b7567 authored by Thomas Gleixner on 29 September 2008, 12:09:39 UTC
hrtimer: fix migration of CB_IRQSAFE_NO_SOFTIRQ hrtimers
Tip revision: 41e1022
File Mode Size
Documentation
arch
block
crypto
drivers
firmware
fs
include
init
ipc
kernel
lib
mm
net
samples
scripts
security
sound
usr
virt
.gitignore -rw-r--r-- 867 bytes
.mailmap -rw-r--r-- 3.7 KB
COPYING -rw-r--r-- 18.3 KB
CREDITS -rw-r--r-- 90.7 KB
Kbuild -rw-r--r-- 2.4 KB
MAINTAINERS -rw-r--r-- 99.5 KB
Makefile -rw-r--r-- 55.4 KB
README -rw-r--r-- 16.5 KB
REPORTING-BUGS -rw-r--r-- 3.1 KB

README

back to top