diff options
author | Jonathan Herman <hermanjl@cs.unc.edu> | 2011-10-15 01:08:36 -0400 |
---|---|---|
committer | Jonathan Herman <hermanjl@cs.unc.edu> | 2011-10-15 01:08:36 -0400 |
commit | 380b773b00ceb6d675929c72a2cad06ac91197d4 (patch) | |
tree | d2aec3e73bffc945dd7c8cb54dc6118e54748b04 /litmus/rt_domain.c | |
parent | a4c7d351552ddfc82b2e715fb70d541e34dc1765 (diff) |
Cleanup. Not tested
Diffstat (limited to 'litmus/rt_domain.c')
-rw-r--r-- | litmus/rt_domain.c | 20 |
1 files changed, 6 insertions, 14 deletions
diff --git a/litmus/rt_domain.c b/litmus/rt_domain.c index e6ccf04cecf..5296665b5dd 100644 --- a/litmus/rt_domain.c +++ b/litmus/rt_domain.c | |||
@@ -254,7 +254,6 @@ static void setup_release(rt_domain_t *_rt) | |||
254 | list_for_each_safe(pos, safe, &list) { | 254 | list_for_each_safe(pos, safe, &list) { |
255 | /* pick task of work list */ | 255 | /* pick task of work list */ |
256 | t = list_entry(pos, struct task_struct, rt_param.list); | 256 | t = list_entry(pos, struct task_struct, rt_param.list); |
257 | /* sched_trace_task_release(t); */ | ||
258 | list_del_init(pos); | 257 | list_del_init(pos); |
259 | 258 | ||
260 | /* put into release heap while holding release_lock */ | 259 | /* put into release heap while holding release_lock */ |
@@ -405,24 +404,19 @@ static void pd_requeue(domain_t *dom, struct task_struct *task) | |||
405 | { | 404 | { |
406 | rt_domain_t *domain = (rt_domain_t*)dom->data; | 405 | rt_domain_t *domain = (rt_domain_t*)dom->data; |
407 | 406 | ||
408 | BUG_ON(!task || !is_realtime(task)); | ||
409 | TRACE_TASK(task, "Requeueing\n"); | 407 | TRACE_TASK(task, "Requeueing\n"); |
408 | BUG_ON(!task || !is_realtime(task)); | ||
410 | BUG_ON(is_queued(task)); | 409 | BUG_ON(is_queued(task)); |
411 | BUG_ON(get_task_domain(task) != dom); | 410 | BUG_ON(get_task_domain(task) != dom); |
412 | 411 | ||
413 | if (is_queued(task)) { | ||
414 | VTRACE_TASK(task, "Queued, skipping\n"); | ||
415 | return; | ||
416 | } | ||
417 | |||
418 | if (is_released(task, litmus_clock())) { | 412 | if (is_released(task, litmus_clock())) { |
419 | __add_ready(domain, task); | 413 | __add_ready(domain, task); |
420 | VTRACE("going, rt: adding %s/%d (%llu, %llu) rel=%llu to ready queue at %llu\n", | 414 | VTRACE("rt: adding %s/%d (%llu, %llu) rel=%llu to ready queue at %llu\n", |
421 | task->comm, task->pid, get_exec_cost(task), get_rt_period(task), | 415 | task->comm, task->pid, get_exec_cost(task), get_rt_period(task), |
422 | get_release(task), litmus_clock()); | 416 | get_release(task), litmus_clock()); |
423 | } else { | 417 | } else { |
424 | /* task has to wait for next release */ | 418 | /* task has to wait for next release */ |
425 | VTRACE_TASK(task, "not going, add release(), rel=%llu\n", get_release(task)); | 419 | VTRACE_TASK(task, "add release(), rel=%llu\n", get_release(task)); |
426 | add_release(domain, task); | 420 | add_release(domain, task); |
427 | } | 421 | } |
428 | 422 | ||
@@ -434,9 +428,8 @@ static void pd_requeue(domain_t *dom, struct task_struct *task) | |||
434 | */ | 428 | */ |
435 | static struct task_struct* pd_take_ready(domain_t *dom) | 429 | static struct task_struct* pd_take_ready(domain_t *dom) |
436 | { | 430 | { |
437 | struct task_struct *t = __take_ready((rt_domain_t*)dom->data); | 431 | return __take_ready((rt_domain_t*)dom->data); |
438 | return t; | 432 | } |
439 | } | ||
440 | 433 | ||
441 | /* pd_peek_ready - returns the head of the rt_domain ready queue | 434 | /* pd_peek_ready - returns the head of the rt_domain ready queue |
442 | * | 435 | * |
@@ -444,8 +437,7 @@ static struct task_struct* pd_take_ready(domain_t *dom) | |||
444 | */ | 437 | */ |
445 | static struct task_struct* pd_peek_ready(domain_t *dom) | 438 | static struct task_struct* pd_peek_ready(domain_t *dom) |
446 | { | 439 | { |
447 | struct task_struct *t = __peek_ready((rt_domain_t*)dom->data); | 440 | return __next_ready((rt_domain_t*)dom->data); |
448 | return t; | ||
449 | } | 441 | } |
450 | 442 | ||
451 | static void pd_remove(domain_t *dom, struct task_struct *task) | 443 | static void pd_remove(domain_t *dom, struct task_struct *task) |