aboutsummaryrefslogtreecommitdiffstats
path: root/bin/mode_test.c
diff options
context:
space:
mode:
Diffstat (limited to 'bin/mode_test.c')
-rw-r--r--bin/mode_test.c116
1 files changed, 0 insertions, 116 deletions
diff --git a/bin/mode_test.c b/bin/mode_test.c
deleted file mode 100644
index 8bdf21b..0000000
--- a/bin/mode_test.c
+++ /dev/null
@@ -1,116 +0,0 @@
1#include <stdio.h>
2#include <stdlib.h>
3#include <signal.h>
4#include <unistd.h>
5#include <sys/time.h>
6#include <sys/wait.h>
7#include <sys/types.h>
8#include <sys/stat.h>
9#include <fcntl.h>
10
11#include "litmus.h"
12
13#define US_PER_MS 1000
14
15int prefix(void)
16{
17 char field[1024];
18 int prefix[1024];
19 int i, sum = 0;
20
21 for (i = 0; i < 1024; i++) {
22 sum += field[i];
23 prefix[i] = sum;
24 }
25 return sum;
26}
27
28void do_stuff(void)
29{
30 int i =0, j =0;
31
32 for (; i < 50000; i++)
33 j += prefix();
34}
35
36#define CALL(sc) do { ret = sc; if (ret == -1) {perror(" (!!) " #sc " failed"); /*exit(1)*/;}} while (0);
37
38unsigned int job_no;
39
40void next(void)
41{
42 int ret;
43 unsigned int actual;
44 CALL(get_job_no(&actual));
45 CALL(wait_for_job_release(++job_no));
46 printf("Now executing job %u, waited for %u\n", actual, job_no);
47}
48
49int main(int argc, char** argv)
50{
51 int ret;
52
53 init_litmus();
54
55 CALL(getpid());
56 printf("my pid is %d\n", ret);
57
58
59 CALL(get_job_no(&job_no));
60 printf("my job_no is %u", job_no);
61
62 CALL( task_mode(LITMUS_RT_TASK) );
63
64 CALL( sporadic_global(3, 33) );
65
66 CALL( task_mode(LITMUS_RT_TASK) );
67
68 next();
69 do_stuff();
70
71 next();
72 do_stuff();
73
74 next();
75 do_stuff();
76
77 CALL( task_mode(BACKGROUND_TASK) );
78
79 do_stuff();
80 do_stuff();
81 do_stuff();
82 do_stuff();
83 do_stuff();
84
85 CALL( task_mode(LITMUS_RT_TASK) );
86
87 do_stuff();
88 do_stuff();
89 do_stuff();
90 do_stuff();
91 do_stuff();
92
93
94 next();
95 next();
96 next();
97 next();
98 next();
99 next();
100 next();
101
102
103 next();
104 do_stuff();
105
106 next();
107 do_stuff();
108
109 next();
110 do_stuff();
111
112 CALL( task_mode(BACKGROUND_TASK) );
113 printf("Exiting...\n");
114
115 return 0;
116}