diff options
Diffstat (limited to 'kernel/fork.c')
-rw-r--r-- | kernel/fork.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/kernel/fork.c b/kernel/fork.c index 4c14942a0ee3..166eb780dd7d 100644 --- a/kernel/fork.c +++ b/kernel/fork.c | |||
@@ -75,6 +75,9 @@ | |||
75 | 75 | ||
76 | #include <trace/events/sched.h> | 76 | #include <trace/events/sched.h> |
77 | 77 | ||
78 | #include <litmus/litmus.h> | ||
79 | #include <litmus/sched_plugin.h> | ||
80 | |||
78 | /* | 81 | /* |
79 | * Protected counters by write_lock_irq(&tasklist_lock) | 82 | * Protected counters by write_lock_irq(&tasklist_lock) |
80 | */ | 83 | */ |
@@ -171,6 +174,7 @@ void __put_task_struct(struct task_struct *tsk) | |||
171 | WARN_ON(atomic_read(&tsk->usage)); | 174 | WARN_ON(atomic_read(&tsk->usage)); |
172 | WARN_ON(tsk == current); | 175 | WARN_ON(tsk == current); |
173 | 176 | ||
177 | exit_litmus(tsk); | ||
174 | exit_creds(tsk); | 178 | exit_creds(tsk); |
175 | delayacct_tsk_free(tsk); | 179 | delayacct_tsk_free(tsk); |
176 | 180 | ||
@@ -253,6 +257,9 @@ static struct task_struct *dup_task_struct(struct task_struct *orig) | |||
253 | 257 | ||
254 | tsk->stack = ti; | 258 | tsk->stack = ti; |
255 | 259 | ||
260 | /* Don't let the new task be a real-time task. */ | ||
261 | litmus_fork(tsk); | ||
262 | |||
256 | err = prop_local_init_single(&tsk->dirties); | 263 | err = prop_local_init_single(&tsk->dirties); |
257 | if (err) | 264 | if (err) |
258 | goto out; | 265 | goto out; |