aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/fork.c
diff options
context:
space:
mode:
authorJeremy Erickson <jerickso@cs.unc.edu>2012-08-30 21:01:47 -0400
committerJeremy Erickson <jerickso@cs.unc.edu>2012-08-30 21:01:47 -0400
commitb1e1fea67bca3796d5f9133a92c300ec4fa93a4f (patch)
tree5cc1336e1fe1d6f93b1067e73e43381dd20db690 /kernel/fork.c
parentf6f94e2ab1b33f0082ac22d71f66385a60d8157f (diff)
Bjoern's Dissertation Code with Priority Donationwip-splitting-omlp-jerickso
Diffstat (limited to 'kernel/fork.c')
-rw-r--r--kernel/fork.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/kernel/fork.c b/kernel/fork.c
index c445f8cc408d..ab7f29d906c7 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 */
@@ -183,6 +186,7 @@ void __put_task_struct(struct task_struct *tsk)
183 WARN_ON(atomic_read(&tsk->usage)); 186 WARN_ON(atomic_read(&tsk->usage));
184 WARN_ON(tsk == current); 187 WARN_ON(tsk == current);
185 188
189 exit_litmus(tsk);
186 exit_creds(tsk); 190 exit_creds(tsk);
187 delayacct_tsk_free(tsk); 191 delayacct_tsk_free(tsk);
188 put_signal_struct(tsk->signal); 192 put_signal_struct(tsk->signal);
@@ -266,6 +270,9 @@ static struct task_struct *dup_task_struct(struct task_struct *orig)
266 270
267 tsk->stack = ti; 271 tsk->stack = ti;
268 272
273 /* Don't let the new task be a real-time task. */
274 litmus_fork(tsk);
275
269 err = prop_local_init_single(&tsk->dirties); 276 err = prop_local_init_single(&tsk->dirties);
270 if (err) 277 if (err)
271 goto out; 278 goto out;