aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoshua Bakita <jbakita@cs.unc.edu>2020-05-15 00:26:07 -0400
committerJoshua Bakita <jbakita@cs.unc.edu>2020-05-15 00:26:07 -0400
commitbc7478ac9601c1d18bb2ffbb168747d964b7f283 (patch)
tree5d31ff7308ee1e58032fb66b51c8e3c3e0dd0987
parente82e5338774c38822ffd06a0d32ac48640563d50 (diff)
Remove superfluous check for blocking in c_release()
Containers aren't real tasks and thus can't block. Fixed tasks are handled separately.
-rw-r--r--litmus/sched_edfsc.c23
1 files changed, 11 insertions, 12 deletions
diff --git a/litmus/sched_edfsc.c b/litmus/sched_edfsc.c
index dbe49c6717bc..97cead918890 100644
--- a/litmus/sched_edfsc.c
+++ b/litmus/sched_edfsc.c
@@ -453,19 +453,18 @@ static void c_release(struct task_struct *t) {
453 // Make our cpu available again 453 // Make our cpu available again
454 if (!bheap_node_in_heap(entry->hn)) 454 if (!bheap_node_in_heap(entry->hn))
455 add_cpu_to_global(entry); 455 add_cpu_to_global(entry);
456 if (is_current_running()) { //since we don't support blocking, this should always be true 456 // Note that container's aren't real tasks and thus can't block
457 if (tsk_rt(t)->edfsc_params.domain->scheduled) { 457 if (tsk_rt(t)->edfsc_params.domain->scheduled) {
458 requeue(tsk_rt(t)->edfsc_params.domain->scheduled); 458 requeue(tsk_rt(t)->edfsc_params.domain->scheduled);
459 tsk_rt(t)->edfsc_params.domain->scheduled = NULL; 459 tsk_rt(t)->edfsc_params.domain->scheduled = NULL;
460 }
461 // Let g_preempt_check() decide what to run, don't impose
462 unlink(t);
463 // Request to be scheduled globally again
464 if (!is_queued(t))
465 requeue(t);
466 // Re-run our EDF scheduling to adjust for the added core
467 g_preempt_check();
468 } 460 }
461 // Let g_preempt_check() decide what to run, don't impose
462 unlink(t);
463 // Request to be scheduled globally again
464 if (!is_queued(t))
465 requeue(t);
466 // Re-run our EDF scheduling to adjust for the added core
467 g_preempt_check();
469 } 468 }
470} 469}
471 470