aboutsummaryrefslogtreecommitdiffstats
path: root/litmus/ikglp_lock.c
diff options
context:
space:
mode:
Diffstat (limited to 'litmus/ikglp_lock.c')
-rw-r--r--litmus/ikglp_lock.c17
1 files changed, 14 insertions, 3 deletions
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,
484 } 484 }
485 485
486 // beware: recursion 486 // beware: recursion
487 litmus->nested_decrease_prio(owner, decreased_prio, &sem->lock, flags); // will unlock mutex->lock 487 litmus->nested_decrease_prio(owner, decreased_prio, &sem->lock, flags, 0); // will unlock mutex->lock
488 } 488 }
489 else { 489 else {
490 TRACE_TASK(owner, "No need to propagate priority decrease forward.\n"); 490 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,
535 } 535 }
536 536
537 // beware: recursion 537 // beware: recursion
538 litmus->nested_decrease_prio(owner, decreased_prio, &sem->lock, flags); // will unlock mutex->lock 538 litmus->nested_decrease_prio(owner, decreased_prio, &sem->lock, flags, 0); // will unlock mutex->lock
539 } 539 }
540 else { 540 else {
541 TRACE_TASK(owner, "No need to propagate priority decrease forward.\n"); 541 TRACE_TASK(owner, "No need to propagate priority decrease forward.\n");
@@ -1382,7 +1382,7 @@ int ikglp_unlock(struct litmus_lock* l)
1382 ++count; 1382 ++count;
1383 } 1383 }
1384 if (count) { 1384 if (count) {
1385 litmus->decrease_prio(t, NULL); 1385 litmus->decrease_prio(t, NULL, 0);
1386 } 1386 }
1387 WARN_ON(count > 2); // should not be greater than 2. only local fq inh and donation can be possible. 1387 WARN_ON(count > 2); // should not be greater than 2. only local fq inh and donation can be possible.
1388 } 1388 }
@@ -1606,6 +1606,17 @@ out:
1606} 1606}
1607 1607
1608 1608
1609void ikglp_budget_exhausted(struct litmus_lock* l, struct task_struct* t)
1610{
1611 TRACE_TASK(t, "TODO!\n");
1612}
1613
1614void ikglp_virtual_unlock(struct litmus_lock* l, struct task_struct* t)
1615{
1616 TRACE_TASK(t, "TODO!\n");
1617}
1618
1619
1609 1620
1610int ikglp_close(struct litmus_lock* l) 1621int ikglp_close(struct litmus_lock* l)
1611{ 1622{