diff options
author | Glenn Elliott <gelliott@cs.unc.edu> | 2010-05-28 10:39:56 -0400 |
---|---|---|
committer | Andrea Bastoni <bastoni@cs.unc.edu> | 2010-05-29 17:26:39 -0400 |
commit | 944f051fda9551483399bed556870b0895df1efa (patch) | |
tree | 66fd8b2fb9342d4b9022ca7a917ccdcc59fd242b /include/litmus | |
parent | 9039e5f731ca5f9a0c69f8523ccfee044111d2e3 (diff) |
Bugfix: 1) incorrect FMLP high prio task tracking and 2) race in print statement
1) High priority task tied to FMLP semaphore in P-EDF scheduling is
incorrectly tracked for tasks acquiring the lock without
contention. (HP is always set to CPU 0 instead of proper CPU.)
2) Race in a print statement from P-EDF's pi_block() causes NULL
pointer dereference.
Diffstat (limited to 'include/litmus')
-rw-r--r-- | include/litmus/sched_plugin.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/include/litmus/sched_plugin.h b/include/litmus/sched_plugin.h index 94952f6ccbfa..2d856d587041 100644 --- a/include/litmus/sched_plugin.h +++ b/include/litmus/sched_plugin.h | |||
@@ -12,7 +12,7 @@ struct pi_semaphore { | |||
12 | atomic_t count; | 12 | atomic_t count; |
13 | int sleepers; | 13 | int sleepers; |
14 | wait_queue_head_t wait; | 14 | wait_queue_head_t wait; |
15 | union { | 15 | struct { |
16 | /* highest-prio holder/waiter */ | 16 | /* highest-prio holder/waiter */ |
17 | struct task_struct *task; | 17 | struct task_struct *task; |
18 | struct task_struct* cpu_task[NR_CPUS]; | 18 | struct task_struct* cpu_task[NR_CPUS]; |