aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBjoern Brandenburg <bbb@mpi-sws.org>2014-09-17 11:27:20 -0400
committerNamhoon Kim <namhoonk@cs.unc.edu>2014-11-03 21:59:58 -0500
commit301fe33935a9ce53d6f2fc15084c7bcbae163d7a (patch)
tree63e7368d23677bacebeafdc6e7ba529861d4cc90
parentf460d28c594341d8e8f78cfe92e6e0d42b2f5616 (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.c7
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
128static void sup_queue_reservation( 133static 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)