diff options
author | Bjoern B. Brandenburg <bbb@cs.unc.edu> | 2011-11-24 13:59:33 -0500 |
---|---|---|
committer | Bjoern B. Brandenburg <bbb@cs.unc.edu> | 2011-11-24 13:59:33 -0500 |
commit | 2fec12d43b366b7257c602af784b172466d8d4c5 (patch) | |
tree | 704b5b4c7bf2f70bd4f19185932a18355b81dfa9 /litmus/trace.c | |
parent | d1d6e4c300d858c47b834be145f30973bc2921bf (diff) |
Pfair: improve robustness of suspensions
This patch fixes two crash or hang bugs related to suspensions
in Pfair.
1) When a job was not present at the end of its last subtask, then
its linked_on field was not cleared. This confused the scheduler
when it later resumed. Fix: clear the field.
2) Just testing for linked_on == NO_CPU is insufficient in the wake_up path
to determine whether a task should be added to the ready queue. If
the task remained linked and then was "preempted" at a later
quantum boundary, then it already is in the ready queue and nothing
is required. Fix: encode need to requeue in task_rt(t)->flags.
Diffstat (limited to 'litmus/trace.c')
0 files changed, 0 insertions, 0 deletions