diff options
author | Bjoern B. Brandenburg <bbb@cs.unc.edu> | 2010-05-30 19:46:21 -0400 |
---|---|---|
committer | Bjoern B. Brandenburg <bbb@cs.unc.edu> | 2010-06-01 10:23:13 -0400 |
commit | cedc8df1cf1ff935af5455a9d565dac05192a47f (patch) | |
tree | 04771859bf08ff847894af6107e4b799a7a00cea /include/litmus | |
parent | 5b54b24c13b7c5dbaa06eae5e1a0075da354289c (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.h | 2 | ||||
-rw-r--r-- | include/litmus/rt_domain.h | 6 |
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 | ||
12 | extern atomic_t release_master_cpu; | 13 | extern atomic_t release_master_cpu; |
14 | #endif | ||
13 | 15 | ||
14 | extern atomic_t __log_seq_no; | 16 | extern 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 | }; |