diff options
author | Bjoern Brandenburg <bbb@mpi-sws.org> | 2014-09-17 11:27:20 -0400 |
---|---|---|
committer | Namhoon Kim <namhoonk@cs.unc.edu> | 2014-11-03 21:59:58 -0500 |
commit | 301fe33935a9ce53d6f2fc15084c7bcbae163d7a (patch) | |
tree | 63e7368d23677bacebeafdc6e7ba529861d4cc90 | |
parent | f460d28c594341d8e8f78cfe92e6e0d42b2f5616 (diff) |
Reservations: request scheduler update for new active reservations
Don't forget to ask for a scheduler update when a reservation is
replenished but enters state ACTIVE_IDLE and there's nothing else
going on that triggers the scheduler by chance.
-rw-r--r-- | litmus/reservation.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/litmus/reservation.c b/litmus/reservation.c index f79689823be7..0bc551e2e67b 100644 --- a/litmus/reservation.c +++ b/litmus/reservation.c | |||
@@ -122,9 +122,14 @@ static void sup_queue_active( | |||
122 | /* check for possible preemption */ | 122 | /* check for possible preemption */ |
123 | if (res->state == RESERVATION_ACTIVE && !passed_active) | 123 | if (res->state == RESERVATION_ACTIVE && !passed_active) |
124 | sup_env->next_scheduler_update = SUP_RESCHEDULE_NOW; | 124 | sup_env->next_scheduler_update = SUP_RESCHEDULE_NOW; |
125 | else { | ||
126 | /* Active means this reservation is draining budget => make sure | ||
127 | * the scheduler is called to notice when the reservation budget has been | ||
128 | * drained completely. */ | ||
129 | sup_scheduler_update_after(sup_env, res->cur_budget); | ||
130 | } | ||
125 | } | 131 | } |
126 | 132 | ||
127 | |||
128 | static void sup_queue_reservation( | 133 | static void sup_queue_reservation( |
129 | struct sup_reservation_environment* sup_env, | 134 | struct sup_reservation_environment* sup_env, |
130 | struct reservation *res) | 135 | struct reservation *res) |