diff options
author | Zelin Tong <ztong@ludwig.cs.unc.edu> | 2020-10-23 23:52:15 -0400 |
---|---|---|
committer | Zelin Tong <ztong@ludwig.cs.unc.edu> | 2020-10-23 23:52:15 -0400 |
commit | 4786ef1a164fd94b402968afa1955aedf41de304 (patch) | |
tree | 36d360ac5dded69a86e166ae8b5580ae79d42cd5 | |
parent | 3ab72024d097d2ebcc25442bedcd29b6f1f3abd7 (diff) |
Fixed edge case
-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 |