diff options
author | Bjoern Brandenburg <bbb@mpi-sws.org> | 2014-05-09 05:11:35 -0400 |
---|---|---|
committer | Bjoern Brandenburg <bbb@mpi-sws.org> | 2014-06-03 02:38:40 -0400 |
commit | 4cc5780a04d827e075a383b2c37a7fca304c3607 (patch) | |
tree | 65cd2b416e14fa85e85c8dac6ab024b4f84e9f2a /include | |
parent | a5df594496740ef2284fdaab8430af84e835ad57 (diff) |
Modernize rt_launch; remove internal API cruft
Switch rt_launch to use a more modern way to launch real-time tasks.
This makes rt_launch more flexible, makes it more similar to rtspin,
and also allows to let us get rid of a chunk of old, inflexible code
in liblitmus that wasn't really serving any useful purpose anymore.
Diffstat (limited to 'include')
-rw-r--r-- | include/internal.h | 5 | ||||
-rw-r--r-- | include/litmus.h | 29 |
2 files changed, 0 insertions, 34 deletions
diff --git a/include/internal.h b/include/internal.h index 035440b..354f7dc 100644 --- a/include/internal.h +++ b/include/internal.h | |||
@@ -3,11 +3,6 @@ | |||
3 | 3 | ||
4 | /* low level operations, not intended for API use */ | 4 | /* low level operations, not intended for API use */ |
5 | 5 | ||
6 | /* prepare a real-time task */ | ||
7 | typedef int (*rt_setup_fn_t)(int pid, void* arg); | ||
8 | int __launch_rt_task(rt_fn_t rt_prog, void *rt_arg, | ||
9 | rt_setup_fn_t setup, void* setup_arg); | ||
10 | |||
11 | #define check(str) \ | 6 | #define check(str) \ |
12 | if (ret == -1) { \ | 7 | if (ret == -1) { \ |
13 | perror(str); \ | 8 | perror(str); \ |
diff --git a/include/litmus.h b/include/litmus.h index 8c54fdc..f99ccec 100644 --- a/include/litmus.h +++ b/include/litmus.h | |||
@@ -251,35 +251,6 @@ int init_rt_thread(void); | |||
251 | */ | 251 | */ |
252 | void exit_litmus(void); | 252 | void exit_litmus(void); |
253 | 253 | ||
254 | /* A real-time program. */ | ||
255 | typedef int (*rt_fn_t)(void*); | ||
256 | |||
257 | /** | ||
258 | * Create a real-time task that enforces exectution budgets | ||
259 | * @param rt_prog Function pointer to real-time task body | ||
260 | * @param arg Pointer to arguments to pass to the pointer in rt_prog | ||
261 | * @param cluster Cluster to schedule this task on. For partitioned scheduling, | ||
262 | * set to the desired partition. For global scheduling, set to 0 | ||
263 | * @param wcet Worst-Case execution time for this task | ||
264 | * @param period Period at which this task should be launched | ||
265 | * @param prio Priority for this task | ||
266 | */ | ||
267 | int create_rt_task(rt_fn_t rt_prog, void *arg, int cluster, | ||
268 | lt_t wcet, lt_t period, unsigned int prio); | ||
269 | /** | ||
270 | * Create a real-time task | ||
271 | * @param rt_prog Function pointer to real-time task body | ||
272 | * @param arg Pointer to arguments to pass to the pointer in rt_prog | ||
273 | * @param cluster Cluster to schedule this task on. For partitioned scheduling, | ||
274 | * set to the desired partition. For global scheduling, set to 0 | ||
275 | * @param wcet Worst-Case execution time for this task | ||
276 | * @param period Period at which this task should be launched | ||
277 | * @param prio Priority for this task | ||
278 | * @param cls Task class (unused) | ||
279 | */ | ||
280 | int __create_rt_task(rt_fn_t rt_prog, void *arg, int cluster, | ||
281 | lt_t wcet, lt_t period, unsigned int prio, task_class_t cls); | ||
282 | |||
283 | /* per-task modes */ | 254 | /* per-task modes */ |
284 | enum rt_task_mode_t { | 255 | enum rt_task_mode_t { |
285 | BACKGROUND_TASK = 0, | 256 | BACKGROUND_TASK = 0, |