diff options
author | Steven Rostedt <rostedt@goodmis.org> | 2013-06-26 19:28:11 (GMT) |
---|---|---|
committer | Scott Wood <scottwood@freescale.com> | 2014-04-10 00:20:17 (GMT) |
commit | 66fc1a4436cb3a79d597c14dcb8ce25bdbd6214e (patch) | |
tree | 21ea8440e6d1d94f81ffc5bfdef7a063318c005b /lib/bcd.c | |
parent | 1273b9566225d091a44f46630266f08808b62f87 (diff) | |
download | linux-fsl-qoriq-66fc1a4436cb3a79d597c14dcb8ce25bdbd6214e.tar.xz |
rt,ntp: Move call to schedule_delayed_work() to helper thread
The ntp code for notify_cmos_timer() is called from a hard interrupt
context. schedule_delayed_work() under PREEMPT_RT_FULL calls spinlocks
that have been converted to mutexes, thus calling schedule_delayed_work()
from interrupt is not safe.
Add a helper thread that does the call to schedule_delayed_work and wake
up that thread instead of calling schedule_delayed_work() directly.
This is only for CONFIG_PREEMPT_RT_FULL, otherwise the code still calls
schedule_delayed_work() directly in irq context.
Note: There's a few places in the kernel that do this. Perhaps the RT
code should have a dedicated thread that does the checks. Just register
a notifier on boot up for your check and wake up the thread when
needed. This will be a todo.
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Diffstat (limited to 'lib/bcd.c')
0 files changed, 0 insertions, 0 deletions