diff options
author | Bjoern Brandenburg <bbb@mpi-sws.org> | 2013-06-25 01:27:07 -0400 |
---|---|---|
committer | Bjoern Brandenburg <bbb@mpi-sws.org> | 2013-08-07 03:46:49 -0400 |
commit | 543810eb67bea9c3046ecb58388493bca39fe796 (patch) | |
tree | cf65010367e53dfbd3e39a9eb6e89dacf92348f3 /include/litmus/rt_param.h | |
parent | 1412c8b72e192a14b8dd620f58a75f55a5490783 (diff) |
Add LITMUS^RT core implementation
This patch adds the core of LITMUS^RT:
- library functionality (heaps, rt_domain, prioritization, etc.)
- budget enforcement logic
- job management
- system call backends
- virtual devices (control page, etc.)
- scheduler plugin API (and dummy plugin)
This code compiles, but is not yet integrated with the rest of Linux.
Diffstat (limited to 'include/litmus/rt_param.h')
-rw-r--r-- | include/litmus/rt_param.h | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/include/litmus/rt_param.h b/include/litmus/rt_param.h index a1fed7653377..138799fbaad7 100644 --- a/include/litmus/rt_param.h +++ b/include/litmus/rt_param.h | |||
@@ -84,12 +84,12 @@ struct rt_task { | |||
84 | }; | 84 | }; |
85 | 85 | ||
86 | union np_flag { | 86 | union np_flag { |
87 | uint64_t raw; | 87 | uint32_t raw; |
88 | struct { | 88 | struct { |
89 | /* Is the task currently in a non-preemptive section? */ | 89 | /* Is the task currently in a non-preemptive section? */ |
90 | uint64_t flag:31; | 90 | uint32_t flag:31; |
91 | /* Should the task call into the scheduler? */ | 91 | /* Should the task call into the scheduler? */ |
92 | uint64_t preempt:1; | 92 | uint32_t preempt:1; |
93 | } np; | 93 | } np; |
94 | }; | 94 | }; |
95 | 95 | ||
@@ -110,10 +110,10 @@ union np_flag { | |||
110 | struct control_page { | 110 | struct control_page { |
111 | /* This flag is used by userspace to communicate non-preempive | 111 | /* This flag is used by userspace to communicate non-preempive |
112 | * sections. */ | 112 | * sections. */ |
113 | volatile union np_flag sched; | 113 | volatile __attribute__ ((aligned (8))) union np_flag sched; |
114 | 114 | ||
115 | volatile uint64_t irq_count; /* Incremented by the kernel each time an IRQ is | 115 | /* Incremented by the kernel each time an IRQ is handled. */ |
116 | * handled. */ | 116 | volatile __attribute__ ((aligned (8))) uint64_t irq_count; |
117 | 117 | ||
118 | /* Locking overhead tracing: userspace records here the time stamp | 118 | /* Locking overhead tracing: userspace records here the time stamp |
119 | * and IRQ counter prior to starting the system call. */ | 119 | * and IRQ counter prior to starting the system call. */ |