From b9f67e64d84081f7dbba8dc380af8c39ac8d0a37 Mon Sep 17 00:00:00 2001 From: Glenn Elliott Date: Thu, 28 Mar 2013 18:10:23 -0400 Subject: inheritance management of budget.exp while blocked --- litmus/ikglp_lock.c | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) (limited to 'litmus/ikglp_lock.c') diff --git a/litmus/ikglp_lock.c b/litmus/ikglp_lock.c index b0c8afe90122..160998f466ed 100644 --- a/litmus/ikglp_lock.c +++ b/litmus/ikglp_lock.c @@ -484,7 +484,7 @@ static void ikglp_refresh_owners_prio_decrease(struct fifo_queue *fq, } // beware: recursion - litmus->nested_decrease_prio(owner, decreased_prio, &sem->lock, flags); // will unlock mutex->lock + litmus->nested_decrease_prio(owner, decreased_prio, &sem->lock, flags, 0); // will unlock mutex->lock } else { TRACE_TASK(owner, "No need to propagate priority decrease forward.\n"); @@ -535,7 +535,7 @@ static void ikglp_remove_donation_from_owner(struct binheap_node *n, } // beware: recursion - litmus->nested_decrease_prio(owner, decreased_prio, &sem->lock, flags); // will unlock mutex->lock + litmus->nested_decrease_prio(owner, decreased_prio, &sem->lock, flags, 0); // will unlock mutex->lock } else { TRACE_TASK(owner, "No need to propagate priority decrease forward.\n"); @@ -1382,7 +1382,7 @@ int ikglp_unlock(struct litmus_lock* l) ++count; } if (count) { - litmus->decrease_prio(t, NULL); + litmus->decrease_prio(t, NULL, 0); } WARN_ON(count > 2); // should not be greater than 2. only local fq inh and donation can be possible. } @@ -1606,6 +1606,17 @@ out: } +void ikglp_budget_exhausted(struct litmus_lock* l, struct task_struct* t) +{ + TRACE_TASK(t, "TODO!\n"); +} + +void ikglp_virtual_unlock(struct litmus_lock* l, struct task_struct* t) +{ + TRACE_TASK(t, "TODO!\n"); +} + + int ikglp_close(struct litmus_lock* l) { -- cgit v1.2.2