aboutsummaryrefslogtreecommitdiffstats
path: root/usr
diff options
context:
space:
mode:
authorBjoern Brandenburg <bbb@mpi-sws.org>2014-09-12 07:31:08 -0400
committerBjoern Brandenburg <bbb@mpi-sws.org>2014-09-12 07:45:29 -0400
commitadc5c2babea29bfb1dc3297e41500b95c146fb41 (patch)
treeb589601fd0907b77c551dc550b95f9244a5415a0 /usr
parent9ec32807edf33064734a815c949668704a07c5f3 (diff)
P-RES: fix rare deadlock via hrtimer_start()
There's a rare condition under which the current call to hrtimer_start() in pres_update_timer() may result in deadlock. pres_update_timer() // holds runqueue lock and state->lock -> hrtimer_start() -> raise_softirq_irqoff() -> wakeup_softirqd() -> wake_up_process() -> acquires runqueue lock() To avoid this, we need to call __hrtimer_start_range_ns() with the 'wakeup' flag set to zero. While at it, also drop the state->lock before calling into hrtimer(), to avoid making the scheduler critical section longer than necessary.
Diffstat (limited to 'usr')
0 files changed, 0 insertions, 0 deletions