diff options
author | Joshua Bakita <jbakita@cs.unc.edu> | 2020-05-15 00:26:07 -0400 |
---|---|---|
committer | Joshua Bakita <jbakita@cs.unc.edu> | 2020-05-15 00:26:07 -0400 |
commit | bc7478ac9601c1d18bb2ffbb168747d964b7f283 (patch) | |
tree | 5d31ff7308ee1e58032fb66b51c8e3c3e0dd0987 | |
parent | e82e5338774c38822ffd06a0d32ac48640563d50 (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.c | 23 |
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 | ||