aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorBjoern B. Brandenburg <bbb@cs.unc.edu>2009-04-22 23:20:48 -0400
committerBjoern B. Brandenburg <bbb@cs.unc.edu>2009-04-22 23:20:48 -0400
commit703447b1a78ea905a90e9660a654ddf62d5d3f6d (patch)
tree1d0be95925d2c2f8f54e81b65be4890276061527 /include
parent5452cb621be9bcae22fc9c0742fdf89b6bdc4ff6 (diff)
rt domain: add support for release master
A release master is a CPU that takes all timer interrupts for release of a given rt_domain_t. By default off.
Diffstat (limited to 'include')
-rw-r--r--include/litmus/rt_domain.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/include/litmus/rt_domain.h b/include/litmus/rt_domain.h
index 9e1e286eba..ea9de020cc 100644
--- a/include/litmus/rt_domain.h
+++ b/include/litmus/rt_domain.h
@@ -31,6 +31,7 @@ typedef struct _rt_domain {
31 /* real-time tasks waiting for release are in here */ 31 /* real-time tasks waiting for release are in here */
32 spinlock_t release_lock; 32 spinlock_t release_lock;
33 struct release_queue release_queue; 33 struct release_queue release_queue;
34 int release_master;
34 35
35 /* for moving tasks to the release queue */ 36 /* for moving tasks to the release queue */
36 spinlock_t tobe_lock; 37 spinlock_t tobe_lock;
@@ -54,6 +55,8 @@ struct release_heap {
54 struct heap heap; 55 struct heap heap;
55 /* used to trigger the release */ 56 /* used to trigger the release */
56 struct hrtimer timer; 57 struct hrtimer timer;
58 /* used to delegate releases */
59 struct hrtimer_start_on_info info;
57 /* required for the timer callback */ 60 /* required for the timer callback */
58 rt_domain_t* dom; 61 rt_domain_t* dom;
59}; 62};