diff options
-rw-r--r-- | litmus/reservations/gedf_reservation.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/litmus/reservations/gedf_reservation.c b/litmus/reservations/gedf_reservation.c index 9f02617821a1..1649eaf026d7 100644 --- a/litmus/reservations/gedf_reservation.c +++ b/litmus/reservations/gedf_reservation.c | |||
@@ -249,7 +249,7 @@ static void gedf_task_replenish_budget( | |||
249 | { | 249 | { |
250 | struct task_struct* t = ((struct gedf_task_reservation*)res)->task; | 250 | struct task_struct* t = ((struct gedf_task_reservation*)res)->task; |
251 | 251 | ||
252 | if (is_completed(t)) { | 252 | if (is_completed(t) || (budget_enforced(t) && budget_exhausted(t))) { |
253 | sched_trace_task_completion(t, 0); | 253 | sched_trace_task_completion(t, 0); |
254 | prepare_for_next_period(t); | 254 | prepare_for_next_period(t); |
255 | tsk_rt(t)->completed = 0; | 255 | tsk_rt(t)->completed = 0; |
@@ -271,6 +271,7 @@ static void gedf_drain_budget( | |||
271 | lt_t how_much, | 271 | lt_t how_much, |
272 | int cpu) | 272 | int cpu) |
273 | { | 273 | { |
274 | |||
274 | if (how_much > res->cur_budget) | 275 | if (how_much > res->cur_budget) |
275 | res->cur_budget = 0; | 276 | res->cur_budget = 0; |
276 | else | 277 | else |