aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoshua Bakita <jbakita@cs.unc.edu>2020-03-07 13:19:13 -0500
committerJoshua Bakita <jbakita@cs.unc.edu>2020-03-07 13:19:13 -0500
commit0edc13c61452deb407377af5c0858608df73cc49 (patch)
tree44c40364609fe92ad6eb259615d698d2a5daca2e
parent2d3a06f3c4a636e9e90533368b0c437daf15c1a6 (diff)
Enable and fix fully provisioned containers
Before we could end up trying to do a bogus migration in unlink().
-rw-r--r--litmus/sched_edfsc.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/litmus/sched_edfsc.c b/litmus/sched_edfsc.c
index 5e0ccb576c84..9f495a3608f8 100644
--- a/litmus/sched_edfsc.c
+++ b/litmus/sched_edfsc.c
@@ -183,9 +183,10 @@ static void add_cpu_to_global(cpu_entry_t *entry)
183 */ 183 */
184static void update_cpu_position(cpu_entry_t *entry) 184static void update_cpu_position(cpu_entry_t *entry)
185{ 185{
186 if (likely(bheap_node_in_heap(entry->hn))) 186 if (likely(bheap_node_in_heap(entry->hn))) {
187 remove_cpu_from_global(entry); 187 remove_cpu_from_global(entry);
188 add_cpu_to_global(entry); 188 add_cpu_to_global(entry);
189 }
189} 190}
190 191
191/////////////////////////////////////////////////////////////////////////////////////// 192///////////////////////////////////////////////////////////////////////////////////////
@@ -991,6 +992,7 @@ static enum hrtimer_restart container_boundary(struct hrtimer *timer)
991 if (is_early_releasing(t) || is_released(t, now)) 992 if (is_early_releasing(t) || is_released(t, now))
992 sched_trace_task_release(t); 993 sched_trace_task_release(t);
993 if (get_rt_utilization(t) == to_fp(1)) { 994 if (get_rt_utilization(t) == to_fp(1)) {
995 tsk_rt(t)->task_params.exec_cost = from_fp(get_rt_utilization(t) * get_rt_period(t));
994 cpu_entry_t* entry = &per_cpu(edfsc_cpu_entries, tsk_rt(t)->edfsc_params.id); 996 cpu_entry_t* entry = &per_cpu(edfsc_cpu_entries, tsk_rt(t)->edfsc_params.id);
995 if (bheap_node_in_heap(entry->hn)) 997 if (bheap_node_in_heap(entry->hn))
996 remove_cpu_from_global(entry); 998 remove_cpu_from_global(entry);