Xenomai 3.3.2
Loading...
Searching...
No Matches
testing.h
Go to the documentation of this file.
1
23#ifndef _RTDM_UAPI_TESTING_H
24#define _RTDM_UAPI_TESTING_H
25
26#include <linux/types.h>
27
28#define RTTST_PROFILE_VER 2
29
30typedef struct rttst_bench_res {
31 __s32 avg;
32 __s32 min;
33 __s32 max;
34 __s32 overruns;
35 __s32 test_loops;
36} rttst_bench_res_t;
37
38typedef struct rttst_interm_bench_res {
39 struct rttst_bench_res last;
40 struct rttst_bench_res overall;
41} rttst_interm_bench_res_t;
42
43typedef struct rttst_overall_bench_res {
44 struct rttst_bench_res result;
45 __s32 *histogram_avg;
46 __s32 *histogram_min;
47 __s32 *histogram_max;
48} rttst_overall_bench_res_t;
49
50#define RTTST_TMBENCH_INVALID -1 /* internal use only */
51#define RTTST_TMBENCH_TASK 0
52#define RTTST_TMBENCH_HANDLER 1
53
54typedef struct rttst_tmbench_config {
55 int mode;
56 int priority;
57 __u64 period;
58 int warmup_loops;
59 int histogram_size;
60 int histogram_bucketsize;
61 int freeze_max;
62} rttst_tmbench_config_t;
63
64struct rttst_swtest_task {
65 unsigned int index;
66 unsigned int flags;
67};
68
69/* Possible values for struct rttst_swtest_task::flags. */
70#define RTTST_SWTEST_FPU 0x1
71#define RTTST_SWTEST_FREEZE 0x4 /* Only for kernel-space tasks. */
72
83 unsigned int from;
84
86 unsigned int to;
87
89 unsigned int switch_mode;
90};
91
92struct rttst_swtest_error {
93 struct rttst_swtest_dir last_switch;
94 unsigned int fp_val;
95};
96
97#define RTTST_RTDM_NORMAL_CLOSE 0
98#define RTTST_RTDM_DEFER_CLOSE_CONTEXT 1
99
100#define RTTST_RTDM_MAGIC_PRIMARY 0xfefbfefb
101#define RTTST_RTDM_MAGIC_SECONDARY 0xa5b9a5b9
102
103#define RTTST_HEAPCHECK_ZEROOVRD 1
104#define RTTST_HEAPCHECK_SHUFFLE 2
105#define RTTST_HEAPCHECK_PATTERN 4
106#define RTTST_HEAPCHECK_HOT 8
107
108struct rttst_heap_parms {
109 __u64 heap_size;
110 __u64 block_size;
111 int flags;
112 int nrstats;
113};
114
115struct rttst_heap_stats {
116 __u64 heap_size;
117 __u64 user_size;
118 __u64 block_size;
119 __s64 alloc_avg_ns;
120 __s64 alloc_max_ns;
121 __s64 free_avg_ns;
122 __s64 free_max_ns;
123 __u64 maximum_free;
124 __u64 largest_free;
125 int nrblocks;
126 int flags;
127};
128
129struct rttst_heap_stathdr {
130 int nrstats;
131 struct rttst_heap_stats *buf;
132};
133
134#define RTIOC_TYPE_TESTING RTDM_CLASS_TESTING
135
140#define RTDM_SUBCLASS_TIMERBENCH 0
142#define RTDM_SUBCLASS_IRQBENCH 1
144#define RTDM_SUBCLASS_SWITCHTEST 2
146#define RTDM_SUBCLASS_RTDMTEST 3
148#define RTDM_SUBCLASS_HEAPCHECK 4
155#define RTTST_RTIOC_INTERM_BENCH_RES \
156 _IOWR(RTIOC_TYPE_TESTING, 0x00, struct rttst_interm_bench_res)
157
158#define RTTST_RTIOC_TMBENCH_START \
159 _IOW(RTIOC_TYPE_TESTING, 0x10, struct rttst_tmbench_config)
160
161#define RTTST_RTIOC_TMBENCH_STOP \
162 _IOWR(RTIOC_TYPE_TESTING, 0x11, struct rttst_overall_bench_res)
163
164#define RTTST_RTIOC_SWTEST_SET_TASKS_COUNT \
165 _IOW(RTIOC_TYPE_TESTING, 0x30, __u32)
166
167#define RTTST_RTIOC_SWTEST_SET_CPU \
168 _IOW(RTIOC_TYPE_TESTING, 0x31, __u32)
169
170#define RTTST_RTIOC_SWTEST_REGISTER_UTASK \
171 _IOW(RTIOC_TYPE_TESTING, 0x32, struct rttst_swtest_task)
172
173#define RTTST_RTIOC_SWTEST_CREATE_KTASK \
174 _IOWR(RTIOC_TYPE_TESTING, 0x33, struct rttst_swtest_task)
175
176#define RTTST_RTIOC_SWTEST_PEND \
177 _IOR(RTIOC_TYPE_TESTING, 0x34, struct rttst_swtest_task)
178
179#define RTTST_RTIOC_SWTEST_SWITCH_TO \
180 _IOR(RTIOC_TYPE_TESTING, 0x35, struct rttst_swtest_dir)
181
182#define RTTST_RTIOC_SWTEST_GET_SWITCHES_COUNT \
183 _IOR(RTIOC_TYPE_TESTING, 0x36, __u32)
184
185#define RTTST_RTIOC_SWTEST_GET_LAST_ERROR \
186 _IOR(RTIOC_TYPE_TESTING, 0x37, struct rttst_swtest_error)
187
188#define RTTST_RTIOC_SWTEST_SET_PAUSE \
189 _IOW(RTIOC_TYPE_TESTING, 0x38, __u32)
190
191#define RTTST_RTIOC_RTDM_DEFER_CLOSE \
192 _IOW(RTIOC_TYPE_TESTING, 0x40, __u32)
193
194#define RTTST_RTIOC_RTDM_ACTOR_GET_CPU \
195 _IOR(RTIOC_TYPE_TESTING, 0x41, __u32)
196
197#define RTTST_RTIOC_RTDM_PING_PRIMARY \
198 _IOR(RTIOC_TYPE_TESTING, 0x42, __u32)
199
200#define RTTST_RTIOC_RTDM_PING_SECONDARY \
201 _IOR(RTIOC_TYPE_TESTING, 0x43, __u32)
202
203#define RTTST_RTIOC_HEAP_CHECK \
204 _IOR(RTIOC_TYPE_TESTING, 0x44, struct rttst_heap_parms)
205
206#define RTTST_RTIOC_HEAP_STAT_COLLECT \
207 _IOR(RTIOC_TYPE_TESTING, 0x45, int)
208
211#endif /* !_RTDM_UAPI_TESTING_H */
parameter for the RTTST_RTIOC_SWTEST_SWITCH_TO syscall
Definition testing.h:81
unsigned int switch_mode
If the mode should be switched: 0 for no switch, 1 for switch.
Definition testing.h:89
unsigned int to
Index of the thread that should run.
Definition testing.h:86
unsigned int from
Index of the thread that should be replaced.
Definition testing.h:83