From d27d5ce8b5fcd8408e995d13608d8993cb720aab Mon Sep 17 00:00:00 2001 From: Jonathan Herman Date: Wed, 21 Sep 2011 18:25:30 -0400 Subject: Now with fine grained locking --- litmus/rt_domain.c | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) (limited to 'litmus/rt_domain.c') diff --git a/litmus/rt_domain.c b/litmus/rt_domain.c index 65c6e5c02f1e..3e419d7c9ae7 100644 --- a/litmus/rt_domain.c +++ b/litmus/rt_domain.c @@ -20,7 +20,7 @@ /* Uncomment when debugging timer races... */ -#if 1 +#if 0 #define VTRACE_TASK TRACE_TASK #define VTRACE TRACE #else @@ -371,8 +371,12 @@ static void pd_requeue(domain_t *dom, struct task_struct *task) if (is_released(task, litmus_clock())) { __add_ready(domain, task); + TRACE("rt: adding %s/%d (%llu, %llu) rel=%llu to ready queue at %llu\n", + task->comm, task->pid, get_exec_cost(task), get_rt_period(task), + get_release(task), litmus_clock()); } else { /* task has to wait for next release */ + TRACE_TASK(task, "add release(), rel=%llu\n", get_release(task)); add_release(domain, task); } } @@ -398,22 +402,16 @@ static struct task_struct* pd_peek_ready(domain_t *dom) /* pd_domain_init - create a generic domain wrapper for an rt_domain */ void pd_domain_init(domain_t *dom, + rt_domain_t *domain, bheap_prio_t order, check_resched_needed_t check, release_jobs_t release, preempt_needed_t preempt_needed, task_prio_t priority) { - rt_domain_t *domain = kmalloc(sizeof(rt_domain_t), GFP_ATOMIC); - rt_domain_init(domain, order, check, release); domain_init(dom, &domain->ready_lock, pd_requeue, pd_peek_ready, pd_take_ready, preempt_needed, priority); dom->data = domain; } - -void pd_domain_free(domain_t *dom) -{ - kfree(dom->data); -} -- cgit v1.2.2