diff options
author | Glenn Elliott <gelliott@cs.unc.edu> | 2012-12-13 17:15:17 -0500 |
---|---|---|
committer | Glenn Elliott <gelliott@cs.unc.edu> | 2012-12-13 17:15:17 -0500 |
commit | 8f4bc19471bd49f4dcf6ab20254b7c71ec12e4e2 (patch) | |
tree | 465a8f5ec2fd6b76f43dc791ef4f78cae226386a /kernel | |
parent | bb9b9d2075a717ea77cb83c30d55aed366bececf (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.c | 3 |
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 |