aboutsummaryrefslogtreecommitdiffstats
path: root/include/litmus
diff options
context:
space:
mode:
authorBjoern B. Brandenburg <bbb@cs.unc.edu>2010-05-30 19:46:21 -0400
committerBjoern B. Brandenburg <bbb@cs.unc.edu>2010-06-01 10:23:13 -0400
commitcedc8df1cf1ff935af5455a9d565dac05192a47f (patch)
tree04771859bf08ff847894af6107e4b799a7a00cea /include/litmus
parent5b54b24c13b7c5dbaa06eae5e1a0075da354289c (diff)
Make release master support optional
Introduces CONFIG_RELEASE_MASTER and makes release master support dependent on the new symbol. This is useful because dedicated interrupt handling only applies to "large" multicore platforms. This will allow us to not implement smp_send_pull_timers() for all platforms.
Diffstat (limited to 'include/litmus')
-rw-r--r--include/litmus/litmus.h2
-rw-r--r--include/litmus/rt_domain.h6
2 files changed, 8 insertions, 0 deletions
diff --git a/include/litmus/litmus.h b/include/litmus/litmus.h
index d515d1af1096..674528eece14 100644
--- a/include/litmus/litmus.h
+++ b/include/litmus/litmus.h
@@ -9,7 +9,9 @@
9#include <linux/jiffies.h> 9#include <linux/jiffies.h>
10#include <litmus/sched_trace.h> 10#include <litmus/sched_trace.h>
11 11
12#ifdef CONFIG_RELEASE_MASTER
12extern atomic_t release_master_cpu; 13extern atomic_t release_master_cpu;
14#endif
13 15
14extern atomic_t __log_seq_no; 16extern atomic_t __log_seq_no;
15 17
diff --git a/include/litmus/rt_domain.h b/include/litmus/rt_domain.h
index 9bf980713474..59e6b54e9281 100644
--- a/include/litmus/rt_domain.h
+++ b/include/litmus/rt_domain.h
@@ -28,7 +28,10 @@ typedef struct _rt_domain {
28 /* real-time tasks waiting for release are in here */ 28 /* real-time tasks waiting for release are in here */
29 raw_spinlock_t release_lock; 29 raw_spinlock_t release_lock;
30 struct release_queue release_queue; 30 struct release_queue release_queue;
31
32#ifdef CONFIG_RELEASE_MASTER
31 int release_master; 33 int release_master;
34#endif
32 35
33 /* for moving tasks to the release queue */ 36 /* for moving tasks to the release queue */
34 raw_spinlock_t tobe_lock; 37 raw_spinlock_t tobe_lock;
@@ -52,8 +55,11 @@ struct release_heap {
52 struct bheap heap; 55 struct bheap heap;
53 /* used to trigger the release */ 56 /* used to trigger the release */
54 struct hrtimer timer; 57 struct hrtimer timer;
58
59#ifdef CONFIG_RELEASE_MASTER
55 /* used to delegate releases */ 60 /* used to delegate releases */
56 struct hrtimer_start_on_info info; 61 struct hrtimer_start_on_info info;
62#endif
57 /* required for the timer callback */ 63 /* required for the timer callback */
58 rt_domain_t* dom; 64 rt_domain_t* dom;
59}; 65};