alarmtimer: Prepare for PREEMPT_RT
Use the hrtimer_cancel_wait_running() synchronization mechanism to prevent priority inversion and live locks on PREEMPT_RT. [ tglx: Split out of combo patch ] Signed-off-by: Anna-Maria Gleixner <anna-maria@linutronix.de> Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org> Link: https://lkml.kernel.org/r/20190730223828.508744705@linutronix.de
This commit is contained in:
parent
850377a875
commit
51ae33092b
|
@ -432,7 +432,7 @@ int alarm_cancel(struct alarm *alarm)
|
||||||
int ret = alarm_try_to_cancel(alarm);
|
int ret = alarm_try_to_cancel(alarm);
|
||||||
if (ret >= 0)
|
if (ret >= 0)
|
||||||
return ret;
|
return ret;
|
||||||
cpu_relax();
|
hrtimer_cancel_wait_running(&alarm->timer);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(alarm_cancel);
|
EXPORT_SYMBOL_GPL(alarm_cancel);
|
||||||
|
|
Loading…
Reference in New Issue