aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/litmus.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/litmus.c')
-rw-r--r--kernel/litmus.c15
1 files changed, 6 insertions, 9 deletions
diff --git a/kernel/litmus.c b/kernel/litmus.c
index ee1e09a627..8f238ba979 100644
--- a/kernel/litmus.c
+++ b/kernel/litmus.c
@@ -19,25 +19,22 @@
19spolicy sched_policy = SCHED_DEFAULT; 19spolicy sched_policy = SCHED_DEFAULT;
20int sched_options = 0; 20int sched_options = 0;
21 21
22/* avoid races with multiple task wake-ups */
23DEFINE_SPINLOCK(litmus_task_set_lock);
24 22
25/* This is a flag for switching the system into RT mode when it is booted up 23/* This is a flag for switching the system into RT mode when it is booted up
26 * In RT-mode non-realtime tasks are shut down and scheduled as spare 24 * In RT-mode non-realtime tasks are scheduled as background tasks.
27 * time available
28 */ 25 */
29 26
30/* The system is booting in non-realtime mode */ 27/* The system is booting in non-realtime mode */
31atomic_t rt_mode = ATOMIC_INIT(MODE_NON_RT); 28atomic_t rt_mode = ATOMIC_INIT(MODE_NON_RT);
32/* Here we specify a mode change to be made */ 29/* Here we specify a mode change to be made */
33atomic_t new_mode = ATOMIC_INIT(MODE_NON_RT); 30atomic_t new_mode = ATOMIC_INIT(MODE_NON_RT);
34/* Number of RT tasks that exist in the system */ 31/* Number of RT tasks that exist in the system */
35atomic_t n_rt_tasks = ATOMIC_INIT(0); 32atomic_t n_rt_tasks = ATOMIC_INIT(0);
36 33
37/* Only one process can perform mode change */ 34/* Only one CPU may perform a mode change. */
38static queuelock_t mode_change_lock; 35static queuelock_t mode_change_lock;
39 36
40/* A time instant when we switched to RT mode */ 37/* The time instant when we switched to RT mode */
41volatile jiffie_t rt_start_time = 0; 38volatile jiffie_t rt_start_time = 0;
42 39
43/* To send signals from the scheduler 40/* To send signals from the scheduler