aboutsummaryrefslogtreecommitdiffstats
path: root/kernel
diff options
context:
space:
mode:
authorGlenn Elliott <gelliott@cs.unc.edu>2012-12-13 17:15:17 -0500
committerGlenn Elliott <gelliott@cs.unc.edu>2012-12-13 17:15:17 -0500
commit8f4bc19471bd49f4dcf6ab20254b7c71ec12e4e2 (patch)
tree465a8f5ec2fd6b76f43dc791ef4f78cae226386a /kernel
parentbb9b9d2075a717ea77cb83c30d55aed366bececf (diff)
Fix several klmirqd bugs.
1) Deadlock in litmus_task_exit()-- added litmus_pre_task_exit() to be called without the Linux runqueue lock held. 2) Prioritization of base-prio klmirqd/aux threads vs. normal real-time tasks. 3) Initialization of gpu owner binheap node moved to *after* memset(0) of rt_params. 4) Exit path of klmirqd threads.
Diffstat (limited to 'kernel')
-rw-r--r--kernel/sched.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/kernel/sched.c b/kernel/sched.c
index 840f87bce097..a1f10984adb3 100644
--- a/kernel/sched.c
+++ b/kernel/sched.c
@@ -5288,6 +5288,9 @@ recheck:
5288 if (retval) 5288 if (retval)
5289 return retval; 5289 return retval;
5290 } 5290 }
5291 else if (p->policy == SCHED_LITMUS) {
5292 litmus_pre_exit_task(p);
5293 }
5291 5294
5292 /* 5295 /*
5293 * make sure no PI-waiters arrive (or leave) while we are 5296 * make sure no PI-waiters arrive (or leave) while we are