summaryrefslogtreecommitdiff
path: root/kernel/fork.c
diff options
context:
space:
mode:
authorJohn Stultz <johnstul@us.ibm.com>2009-07-03 08:29:58 -0500
committerClark Williams <williams@redhat.com>2012-02-15 10:32:46 -0600
commit58cff7eb4337ce85e712766c848411db06adcd92 (patch)
treebc3a4695db67b969670d6885a130bf95644e833b /kernel/fork.c
parent2ef9dc81703eccb6c8bf40a458a0545ecfa74483 (diff)
posix-timers: thread posix-cpu-timers on -rt
posix-cpu-timer code takes non -rt safe locks in hard irq context. Move it to a thread. [ 3.0 fixes from Peter Zijlstra <peterz@infradead.org> ] Signed-off-by: John Stultz <johnstul@us.ibm.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'kernel/fork.c')
-rw-r--r--kernel/fork.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/kernel/fork.c b/kernel/fork.c
index 838af37137a5..a636fa63b46e 100644
--- a/kernel/fork.c
+++ b/kernel/fork.c
@@ -1023,6 +1023,9 @@ void mm_init_owner(struct mm_struct *mm, struct task_struct *p)
*/
static void posix_cpu_timers_init(struct task_struct *tsk)
{
+#ifdef CONFIG_PREEMPT_RT_BASE
+ tsk->posix_timer_list = NULL;
+#endif
tsk->cputime_expires.prof_exp = cputime_zero;
tsk->cputime_expires.virt_exp = cputime_zero;
tsk->cputime_expires.sched_exp = 0;