1 |
28 |
unneback |
|
2 |
|
|
|
3 |
|
|
|
4 |
|
|
|
5 |
|
|
|
6 |
|
|
|
7 |
|
|
|
8 |
|
|
|
9 |
|
|
|
10 |
|
|
|
11 |
|
|
|
12 |
|
|
|
13 |
|
|
|
14 |
|
|
|
15 |
|
|
|
16 |
|
|
|
17 |
|
|
|
18 |
|
|
|
19 |
|
|
|
20 |
|
|
|
21 |
|
|
|
22 |
|
|
|
23 |
|
|
|
24 |
|
|
|
25 |
|
|
|
26 |
|
|
|
27 |
|
|
|
28 |
|
|
|
29 |
|
|
|
30 |
|
|
|
31 |
|
|
|
32 |
|
|
|
33 |
|
|
Real-time characterization
|
34 |
|
|
|
35 |
|
|
For a discussion of real-time performance measurement for eCos, see the eCos
|
36 |
|
|
Users' Guide.
|
37 |
|
|
|
38 |
|
|
|
39 |
|
|
|
40 |
|
|
|
41 |
|
|
As with the target setup descriptions in the previous appendix, this
|
42 |
|
|
information will eventually be merged into per-target documents.
|
43 |
|
|
|
44 |
|
|
|
45 |
|
|
|
46 |
|
|
Sample numbers:
|
47 |
|
|
|
48 |
|
|
|
49 |
|
|
|
50 |
|
|
|
51 |
|
|
|
52 |
|
|
Board: ARM AEB-1 Revision B Evaluation Board
|
53 |
|
|
|
54 |
|
|
|
55 |
|
|
Board: ARM AEB-1 Revision B Evaluation Board
|
56 |
|
|
|
57 |
|
|
CPU : Sharp LH77790A 24MHz
|
58 |
|
|
|
59 |
|
|
|
60 |
|
|
|
61 |
|
|
Startup, main stack : stack used 404 size 2400
|
62 |
|
|
Startup : Interrupt stack used 128 size 2048
|
63 |
|
|
Startup : Idlethread stack used 80 size 2048
|
64 |
|
|
|
65 |
|
|
eCos Kernel Timings
|
66 |
|
|
Notes: all times are in microseconds (.000001) unless otherwise stated
|
67 |
|
|
|
68 |
|
|
Reading the hardware clock takes 13 'ticks' overhead
|
69 |
|
|
... this value will be factored out of all other measurements
|
70 |
|
|
Clock interrupt took 193.49 microseconds (290 raw clock ticks)
|
71 |
|
|
|
72 |
|
|
Testing parameters:
|
73 |
|
|
Clock samples: 32
|
74 |
|
|
Threads: 7
|
75 |
|
|
Thread switches: 128
|
76 |
|
|
Mutexes: 32
|
77 |
|
|
Mailboxes: 32
|
78 |
|
|
Semaphores: 32
|
79 |
|
|
Scheduler operations: 128
|
80 |
|
|
Counters: 32
|
81 |
|
|
Alarms: 32
|
82 |
|
|
|
83 |
|
|
|
84 |
|
|
Confidence
|
85 |
|
|
Ave Min Max Var Ave Min Function
|
86 |
|
|
====== ====== ====== ====== ========== ========
|
87 |
|
|
110.19 104.67 116.00 3.26 42% 28% Create thread
|
88 |
|
|
34.00 34.00 34.00 0.00 100% 100% Yield thread [all suspended]
|
89 |
|
|
24.67 24.67 24.67 0.00 100% 100% Suspend [suspended] thread
|
90 |
|
|
25.05 24.67 25.33 0.33 57% 42% Resume thread
|
91 |
|
|
37.14 36.67 37.33 0.27 71% 28% Set priority
|
92 |
|
|
3.81 3.33 4.00 0.27 71% 28% Get priority
|
93 |
|
|
80.00 80.00 80.00 0.00 100% 100% Kill [suspended] thread
|
94 |
|
|
33.90 33.33 34.00 0.16 85% 14% Yield [no other] thread
|
95 |
|
|
45.90 44.00 46.67 0.54 57% 14% Resume [suspended low prio] thread
|
96 |
|
|
24.57 24.00 24.67 0.16 85% 14% Resume [runnable low prio] thread
|
97 |
|
|
42.29 36.67 43.33 1.61 85% 14% Suspend [runnable] thread
|
98 |
|
|
33.90 33.33 34.00 0.16 85% 14% Yield [only low prio] thread
|
99 |
|
|
24.67 24.67 24.67 0.00 100% 100% Suspend [runnable->not runnable]
|
100 |
|
|
80.00 80.00 80.00 0.00 100% 100% Kill [runnable] thread
|
101 |
|
|
43.33 43.33 43.33 0.00 100% 100% Destroy [dead] thread
|
102 |
|
|
106.29 101.33 107.33 1.41 85% 14% Destroy [runnable] thread
|
103 |
|
|
144.95 141.33 166.00 6.01 85% 85% Resume [high priority] thread
|
104 |
|
|
78.31 76.67 254.67 2.75 99% 99% Thread switch
|
105 |
|
|
|
106 |
|
|
4.00 4.00 4.00 0.00 100% 100% Scheduler lock
|
107 |
|
|
16.37 16.00 16.67 0.33 56% 43% Scheduler unlock [0 threads]
|
108 |
|
|
16.37 16.00 16.67 0.33 56% 43% Scheduler unlock [1 suspended]
|
109 |
|
|
16.37 16.00 16.67 0.33 56% 43% Scheduler unlock [many suspended]
|
110 |
|
|
16.37 16.00 16.67 0.33 56% 43% Scheduler unlock [many low prio]
|
111 |
|
|
|
112 |
|
|
10.67 10.67 10.67 0.00 100% 100% Init mutex
|
113 |
|
|
28.67 28.67 28.67 0.00 100% 100% Lock [unlocked] mutex
|
114 |
|
|
30.44 30.00 31.33 0.33 59% 37% Unlock [locked] mutex
|
115 |
|
|
25.42 25.33 26.00 0.15 87% 87% Trylock [unlocked] mutex
|
116 |
|
|
22.50 22.00 22.67 0.25 75% 25% Trylock [locked] mutex
|
117 |
|
|
5.75 5.33 6.00 0.31 62% 37% Destroy mutex
|
118 |
|
|
185.33 185.33 185.33 0.00 100% 100% Unlock/Lock mutex
|
119 |
|
|
|
120 |
|
|
20.17 20.00 20.67 0.25 75% 75% Create mbox
|
121 |
|
|
2.92 2.67 3.33 0.31 62% 62% Peek [empty] mbox
|
122 |
|
|
32.42 32.00 32.67 0.31 62% 37% Put [first] mbox
|
123 |
|
|
3.00 2.67 3.33 0.33 100% 50% Peek [1 msg] mbox
|
124 |
|
|
32.50 32.00 32.67 0.25 75% 25% Put [second] mbox
|
125 |
|
|
2.92 2.67 3.33 0.31 62% 62% Peek [2 msgs] mbox
|
126 |
|
|
32.83 32.67 33.33 0.25 75% 75% Get [first] mbox
|
127 |
|
|
32.67 32.67 32.67 0.00 100% 100% Get [second] mbox
|
128 |
|
|
31.33 31.33 31.33 0.00 100% 100% Tryput [first] mbox
|
129 |
|
|
27.58 27.33 28.00 0.31 62% 62% Peek item [non-empty] mbox
|
130 |
|
|
32.83 32.67 33.33 0.25 75% 75% Tryget [non-empty] mbox
|
131 |
|
|
26.50 26.00 26.67 0.25 75% 25% Peek item [empty] mbox
|
132 |
|
|
28.00 28.00 28.00 0.00 100% 100% Tryget [empty] mbox
|
133 |
|
|
3.25 2.67 3.33 0.15 87% 12% Waiting to get mbox
|
134 |
|
|
3.25 2.67 3.33 0.15 87% 12% Waiting to put mbox
|
135 |
|
|
30.83 30.67 31.33 0.25 75% 75% Delete mbox
|
136 |
|
|
101.08 100.67 101.33 0.31 62% 37% Put/Get mbox
|
137 |
|
|
|
138 |
|
|
11.17 10.67 11.33 0.25 75% 25% Init semaphore
|
139 |
|
|
24.17 24.00 24.67 0.25 75% 75% Post [0] semaphore
|
140 |
|
|
27.08 26.67 27.33 0.31 62% 37% Wait [1] semaphore
|
141 |
|
|
22.75 22.67 23.33 0.15 87% 87% Trywait [0] semaphore
|
142 |
|
|
22.21 22.00 22.67 0.29 68% 68% Trywait [1] semaphore
|
143 |
|
|
7.33 7.33 7.33 0.00 100% 100% Peek semaphore
|
144 |
|
|
5.92 5.33 6.00 0.15 87% 12% Destroy semaphore
|
145 |
|
|
110.04 110.00 110.67 0.08 93% 93% Post/Wait semaphore
|
146 |
|
|
|
147 |
|
|
9.54 9.33 10.00 0.29 68% 68% Create counter
|
148 |
|
|
3.92 3.33 4.00 0.15 87% 12% Get counter value
|
149 |
|
|
4.00 4.00 4.00 0.00 100% 100% Set counter value
|
150 |
|
|
30.92 30.67 31.33 0.31 62% 62% Tick counter
|
151 |
|
|
5.75 5.33 6.00 0.31 62% 37% Delete counter
|
152 |
|
|
|
153 |
|
|
13.83 13.33 14.00 0.25 75% 25% Create alarm
|
154 |
|
|
46.67 46.67 46.67 0.00 100% 100% Initialize alarm
|
155 |
|
|
3.67 3.33 4.00 0.33 100% 50% Disable alarm
|
156 |
|
|
45.67 45.33 46.00 0.33 100% 50% Enable alarm
|
157 |
|
|
8.33 8.00 8.67 0.33 100% 50% Delete alarm
|
158 |
|
|
36.33 36.00 36.67 0.33 100% 50% Tick counter [1 alarm]
|
159 |
|
|
214.67 214.67 214.67 0.00 100% 100% Tick counter [many alarms]
|
160 |
|
|
62.67 62.67 62.67 0.00 100% 100% Tick & fire counter [1 alarm]
|
161 |
|
|
1087.04 1075.33 1278.67 21.91 93% 93% Tick & fire counters [>1 together]
|
162 |
|
|
246.35 240.67 412.00 10.35 96% 96% Tick & fire counters [>1 separately]
|
163 |
|
|
168.01 167.33 237.33 1.08 99% 99% Alarm latency [0 threads]
|
164 |
|
|
187.36 168.00 234.67 3.60 86% 1% Alarm latency [2 threads]
|
165 |
|
|
187.37 167.33 235.33 3.59 85% 1% Alarm latency [many threads]
|
166 |
|
|
303.12 280.00 508.67 3.21 98% 0% Alarm -> thread resume latency
|
167 |
|
|
|
168 |
|
|
36.65 36.00 38.67 0.00 Clock/interrupt latency
|
169 |
|
|
|
170 |
|
|
65.79 52.00 152.67 0.00 Clock DSR latency
|
171 |
|
|
|
172 |
|
|
316 316 316 (main stack: 752) Thread stack used (1120 total)
|
173 |
|
|
All done, main stack : stack used 752 size 2400
|
174 |
|
|
All done : Interrupt stack used 280 size 2048
|
175 |
|
|
All done : Idlethread stack used 268 size 2048
|
176 |
|
|
|
177 |
|
|
Timing complete - 30390 ms total
|
178 |
|
|
|
179 |
|
|
PASS:<Basic timing OK>
|
180 |
|
|
EXIT:<done>
|
181 |
|
|
|
182 |
|
|
|
183 |
|
|
|
184 |
|
|
|
185 |
|
|
|
186 |
|
|
|
187 |
|
|
|
188 |
|
|
Board: Atmel AT91/EB40
|
189 |
|
|
|
190 |
|
|
Board: Atmel AT91/EB40
|
191 |
|
|
CPU : AT91R40807 (ARM7TDMI core), 32MHz
|
192 |
|
|
512KB RAM, 64K Flash
|
193 |
|
|
|
194 |
|
|
Startup, main stack : stack used 420 size 2400
|
195 |
|
|
Startup : Interrupt stack used 144 size 4096
|
196 |
|
|
Startup : Idlethread stack used 84 size 2048
|
197 |
|
|
|
198 |
|
|
eCos Kernel Timings
|
199 |
|
|
Notes: all times are in microseconds (.000001) unless otherwise stated
|
200 |
|
|
|
201 |
|
|
Reading the hardware clock takes 3 'ticks' overhead
|
202 |
|
|
... this value will be factored out of all other measurements
|
203 |
|
|
Clock interrupt took 127.53 microseconds (130 raw clock ticks)
|
204 |
|
|
|
205 |
|
|
Testing parameters:
|
206 |
|
|
Clock samples: 32
|
207 |
|
|
Threads: 25
|
208 |
|
|
Thread switches: 128
|
209 |
|
|
Mutexes: 32
|
210 |
|
|
Mailboxes: 32
|
211 |
|
|
Semaphores: 32
|
212 |
|
|
Scheduler operations: 128
|
213 |
|
|
Counters: 32
|
214 |
|
|
Alarms: 32
|
215 |
|
|
|
216 |
|
|
|
217 |
|
|
Confidence
|
218 |
|
|
Ave Min Max Var Ave Min Function
|
219 |
|
|
====== ====== ====== ====== ========== ========
|
220 |
|
|
86.48 71.29 101.56 7.99 48% 28% Create thread
|
221 |
|
|
20.70 20.51 21.48 0.31 80% 80% Yield thread [all suspended]
|
222 |
|
|
17.15 16.60 17.58 0.48 56% 44% Suspend [suspended] thread
|
223 |
|
|
17.07 16.60 17.58 0.49 52% 52% Resume thread
|
224 |
|
|
25.51 25.39 26.37 0.21 88% 88% Set priority
|
225 |
|
|
3.16 2.93 3.91 0.36 76% 76% Get priority
|
226 |
|
|
52.34 51.76 52.73 0.47 60% 40% Kill [suspended] thread
|
227 |
|
|
20.70 20.51 21.48 0.31 80% 80% Yield [no other] thread
|
228 |
|
|
28.98 28.32 30.27 0.48 60% 36% Resume [suspended low prio] thread
|
229 |
|
|
17.11 16.60 17.58 0.49 52% 48% Resume [runnable low prio] thread
|
230 |
|
|
27.85 26.37 28.32 0.52 96% 4% Suspend [runnable] thread
|
231 |
|
|
20.70 20.51 21.48 0.31 80% 80% Yield [only low prio] thread
|
232 |
|
|
17.23 16.60 17.58 0.45 64% 36% Suspend [runnable->not runnable]
|
233 |
|
|
52.34 51.76 52.73 0.47 60% 40% Kill [runnable] thread
|
234 |
|
|
33.01 32.23 33.20 0.31 80% 20% Destroy [dead] thread
|
235 |
|
|
72.03 70.31 72.27 0.38 80% 4% Destroy [runnable] thread
|
236 |
|
|
96.99 95.70 112.30 1.22 64% 96% Resume [high priority] thread
|
237 |
|
|
51.48 49.80 164.06 1.76 99% 99% Thread switch
|
238 |
|
|
|
239 |
|
|
2.78 1.95 2.93 0.26 84% 15% Scheduler lock
|
240 |
|
|
11.81 11.72 12.70 0.17 90% 90% Scheduler unlock [0 threads]
|
241 |
|
|
11.81 11.72 12.70 0.17 90% 90% Scheduler unlock [1 suspended]
|
242 |
|
|
11.81 11.72 12.70 0.17 90% 90% Scheduler unlock [many suspended]
|
243 |
|
|
11.81 11.72 12.70 0.17 90% 90% Scheduler unlock [many low prio]
|
244 |
|
|
|
245 |
|
|
5.49 4.88 5.86 0.46 62% 37% Init mutex
|
246 |
|
|
20.20 19.53 20.51 0.42 68% 31% Lock [unlocked] mutex
|
247 |
|
|
24.44 24.41 25.39 0.06 96% 96% Unlock [locked] mutex
|
248 |
|
|
18.25 17.58 18.55 0.42 68% 31% Trylock [unlocked] mutex
|
249 |
|
|
16.11 15.63 16.60 0.49 100% 50% Trylock [locked] mutex
|
250 |
|
|
6.10 5.86 6.84 0.37 75% 75% Destroy mutex
|
251 |
|
|
124.21 124.02 125.00 0.30 81% 81% Unlock/Lock mutex
|
252 |
|
|
|
253 |
|
|
9.28 8.79 9.77 0.49 100% 50% Create mbox
|
254 |
|
|
2.93 2.93 2.93 0.00 100% 100% Peek [empty] mbox
|
255 |
|
|
22.58 22.46 23.44 0.21 87% 87% Put [first] mbox
|
256 |
|
|
2.44 1.95 2.93 0.49 100% 50% Peek [1 msg] mbox
|
257 |
|
|
22.58 22.46 23.44 0.21 87% 87% Put [second] mbox
|
258 |
|
|
2.44 1.95 2.93 0.49 100% 50% Peek [2 msgs] mbox
|
259 |
|
|
22.71 22.46 23.44 0.37 75% 75% Get [first] mbox
|
260 |
|
|
22.71 22.46 23.44 0.37 75% 75% Get [second] mbox
|
261 |
|
|
21.18 20.51 21.48 0.42 68% 31% Tryput [first] mbox
|
262 |
|
|
18.98 18.55 19.53 0.48 56% 56% Peek item [non-empty] mbox
|
263 |
|
|
22.46 22.46 22.46 0.00 100% 100% Tryget [non-empty] mbox
|
264 |
|
|
18.31 17.58 18.55 0.37 75% 25% Peek item [empty] mbox
|
265 |
|
|
19.53 19.53 19.53 0.00 100% 100% Tryget [empty] mbox
|
266 |
|
|
2.69 1.95 2.93 0.37 75% 25% Waiting to get mbox
|
267 |
|
|
2.93 2.93 2.93 0.00 100% 100% Waiting to put mbox
|
268 |
|
|
23.86 23.44 24.41 0.48 56% 56% Delete mbox
|
269 |
|
|
67.60 67.38 68.36 0.33 78% 78% Put/Get mbox
|
270 |
|
|
|
271 |
|
|
5.37 4.88 5.86 0.49 100% 50% Init semaphore
|
272 |
|
|
16.97 16.60 17.58 0.46 62% 62% Post [0] semaphore
|
273 |
|
|
18.98 18.55 19.53 0.48 56% 56% Wait [1] semaphore
|
274 |
|
|
15.81 15.63 16.60 0.30 81% 81% Trywait [0] semaphore
|
275 |
|
|
15.29 14.65 15.63 0.44 65% 34% Trywait [1] semaphore
|
276 |
|
|
5.62 4.88 5.86 0.37 75% 25% Peek semaphore
|
277 |
|
|
6.35 5.86 6.84 0.49 100% 50% Destroy semaphore
|
278 |
|
|
72.36 72.27 73.24 0.17 90% 90% Post/Wait semaphore
|
279 |
|
|
|
280 |
|
|
7.08 6.84 7.81 0.37 75% 75% Create counter
|
281 |
|
|
3.17 2.93 3.91 0.37 75% 75% Get counter value
|
282 |
|
|
3.05 2.93 3.91 0.21 87% 87% Set counter value
|
283 |
|
|
24.11 23.44 24.41 0.42 68% 31% Tick counter
|
284 |
|
|
5.49 4.88 5.86 0.46 62% 37% Delete counter
|
285 |
|
|
|
286 |
|
|
10.92 10.74 11.72 0.30 81% 81% Create alarm
|
287 |
|
|
31.46 31.25 32.23 0.33 78% 78% Initialize alarm
|
288 |
|
|
3.05 2.93 3.91 0.21 87% 87% Disable alarm
|
289 |
|
|
31.49 31.25 32.23 0.37 75% 75% Enable alarm
|
290 |
|
|
7.02 6.84 7.81 0.30 81% 81% Delete alarm
|
291 |
|
|
31.16 30.27 31.25 0.17 90% 9% Tick counter [1 alarm]
|
292 |
|
|
309.26 304.69 425.78 7.28 96% 96% Tick counter [many alarms]
|
293 |
|
|
44.83 43.95 44.92 0.17 90% 9% Tick & fire counter [1 alarm]
|
294 |
|
|
781.68 774.41 893.55 13.62 93% 93% Tick & fire counters [>1 together]
|
295 |
|
|
324.16 320.31 433.59 6.84 96% 96% Tick & fire counters [>1 separately]
|
296 |
|
|
114.26 113.28 167.97 0.84 57% 42% Alarm latency [0 threads]
|
297 |
|
|
126.91 113.28 159.18 8.20 50% 31% Alarm latency [2 threads]
|
298 |
|
|
127.11 113.28 158.20 8.09 51% 28% Alarm latency [many threads]
|
299 |
|
|
196.49 189.45 331.05 2.10 98% 0% Alarm -> thread resume latency
|
300 |
|
|
|
301 |
|
|
23.50 23.44 25.39 0.00 Clock/interrupt latency
|
302 |
|
|
|
303 |
|
|
40.31 33.20 514.65 0.00 Clock DSR latency
|
304 |
|
|
|
305 |
|
|
300 271 312 (main stack: 832) Thread stack used (1120 total)
|
306 |
|
|
All done, main stack : stack used 832 size 2400
|
307 |
|
|
All done : Interrupt stack used 288 size 4096
|
308 |
|
|
All done : Idlethread stack used 272 size 2048
|
309 |
|
|
|
310 |
|
|
Timing complete - 30350 ms total
|
311 |
|
|
|
312 |
|
|
PASS:<Basic timing OK>
|
313 |
|
|
EXIT:<done>
|
314 |
|
|
|
315 |
|
|
|
316 |
|
|
|
317 |
|
|
|
318 |
|
|
|
319 |
|
|
|
320 |
|
|
Board: Intel StrongARM EBSA-285 Evaluation Board
|
321 |
|
|
Board: Intel StrongARM EBSA-285 Evaluation Board
|
322 |
|
|
|
323 |
|
|
CPU : Intel StrongARM SA-110 228MHz
|
324 |
|
|
|
325 |
|
|
|
326 |
|
|
Startup, main stack : stack used 404 size 2400
|
327 |
|
|
Startup : Interrupt stack used 136 size 4096
|
328 |
|
|
Startup : Idlethread stack used 80 size 2048
|
329 |
|
|
|
330 |
|
|
eCos Kernel Timings
|
331 |
|
|
Notes: all times are in microseconds (.000001) unless otherwise stated
|
332 |
|
|
|
333 |
|
|
Reading the hardware clock takes 1 'ticks' overhead
|
334 |
|
|
... this value will be factored out of all other measurements
|
335 |
|
|
Clock interrupt took 4.61 microseconds (16 raw clock ticks)
|
336 |
|
|
|
337 |
|
|
Testing parameters:
|
338 |
|
|
Clock samples: 32
|
339 |
|
|
Threads: 64
|
340 |
|
|
Thread switches: 128
|
341 |
|
|
Mutexes: 32
|
342 |
|
|
Mailboxes: 32
|
343 |
|
|
Semaphores: 32
|
344 |
|
|
Scheduler operations: 128
|
345 |
|
|
Counters: 32
|
346 |
|
|
Alarms: 32
|
347 |
|
|
|
348 |
|
|
|
349 |
|
|
Confidence
|
350 |
|
|
Ave Min Max Var Ave Min Function
|
351 |
|
|
====== ====== ====== ====== ========== ========
|
352 |
|
|
4.97 3.26 7.34 0.60 50% 4% Create thread
|
353 |
|
|
0.73 0.54 2.17 0.14 60% 37% Yield thread [all suspended]
|
354 |
|
|
0.98 0.82 2.99 0.23 81% 68% Suspend [suspended] thread
|
355 |
|
|
0.54 0.27 1.63 0.03 92% 6% Resume thread
|
356 |
|
|
0.83 0.54 1.90 0.10 73% 14% Set priority
|
357 |
|
|
0.21 0.00 0.54 0.21 25% 48% Get priority
|
358 |
|
|
2.25 1.90 10.05 0.37 96% 67% Kill [suspended] thread
|
359 |
|
|
0.70 0.54 1.09 0.14 53% 45% Yield [no other] thread
|
360 |
|
|
0.96 0.82 1.36 0.14 50% 48% Resume [suspended low prio] thread
|
361 |
|
|
0.53 0.27 0.82 0.03 92% 6% Resume [runnable low prio] thread
|
362 |
|
|
0.90 0.82 1.63 0.13 70% 70% Suspend [runnable] thread
|
363 |
|
|
0.70 0.54 0.82 0.13 57% 42% Yield [only low prio] thread
|
364 |
|
|
0.55 0.54 0.82 0.01 98% 98% Suspend [runnable->not runnable]
|
365 |
|
|
1.64 1.63 2.17 0.02 98% 98% Kill [runnable] thread
|
366 |
|
|
0.97 0.82 4.62 0.20 98% 64% Destroy [dead] thread
|
367 |
|
|
2.17 1.90 2.17 0.01 98% 1% Destroy [runnable] thread
|
368 |
|
|
6.06 5.16 10.60 0.53 59% 31% Resume [high priority] thread
|
369 |
|
|
1.69 1.63 5.98 0.11 90% 90% Thread switch
|
370 |
|
|
|
371 |
|
|
0.14 0.00 1.36 0.14 99% 50% Scheduler lock
|
372 |
|
|
0.37 0.27 0.54 0.13 62% 62% Scheduler unlock [0 threads]
|
373 |
|
|
0.38 0.27 0.54 0.13 60% 60% Scheduler unlock [1 suspended]
|
374 |
|
|
0.37 0.27 0.54 0.13 63% 63% Scheduler unlock [many suspended]
|
375 |
|
|
0.37 0.27 0.54 0.13 63% 63% Scheduler unlock [many low prio]
|
376 |
|
|
|
377 |
|
|
0.34 0.00 1.90 0.15 78% 6% Init mutex
|
378 |
|
|
0.88 0.54 4.62 0.37 93% 71% Lock [unlocked] mutex
|
379 |
|
|
0.79 0.54 4.35 0.26 93% 53% Unlock [locked] mutex
|
380 |
|
|
0.59 0.27 2.17 0.10 93% 3% Trylock [unlocked] mutex
|
381 |
|
|
0.50 0.27 0.82 0.09 78% 18% Trylock [locked] mutex
|
382 |
|
|
0.18 0.00 0.54 0.13 59% 37% Destroy mutex
|
383 |
|
|
3.85 3.80 5.16 0.08 96% 96% Unlock/Lock mutex
|
384 |
|
|
|
385 |
|
|
0.64 0.27 3.53 0.24 81% 15% Create mbox
|
386 |
|
|
0.61 0.27 2.17 0.21 68% 18% Peek [empty] mbox
|
387 |
|
|
0.87 0.54 5.16 0.31 59% 87% Put [first] mbox
|
388 |
|
|
0.08 0.00 0.54 0.12 71% 71% Peek [1 msg] mbox
|
389 |
|
|
0.71 0.54 1.09 0.14 56% 40% Put [second] mbox
|
390 |
|
|
0.08 0.00 0.27 0.12 68% 68% Peek [2 msgs] mbox
|
391 |
|
|
0.89 0.54 4.89 0.31 62% 81% Get [first] mbox
|
392 |
|
|
0.76 0.54 1.09 0.17 43% 37% Get [second] mbox
|
393 |
|
|
0.76 0.54 3.26 0.21 96% 50% Tryput [first] mbox
|
394 |
|
|
0.65 0.54 2.45 0.17 81% 81% Peek item [non-empty] mbox
|
395 |
|
|
0.76 0.54 2.72 0.19 53% 43% Tryget [non-empty] mbox
|
396 |
|
|
0.58 0.54 0.82 0.06 87% 87% Peek item [empty] mbox
|
397 |
|
|
0.61 0.54 0.82 0.10 75% 75% Tryget [empty] mbox
|
398 |
|
|
0.10 0.00 0.54 0.13 65% 65% Waiting to get mbox
|
399 |
|
|
0.10 0.00 0.54 0.13 65% 65% Waiting to put mbox
|
400 |
|
|
0.77 0.54 3.26 0.20 53% 43% Delete mbox
|
401 |
|
|
2.10 1.90 6.25 0.30 93% 93% Put/Get mbox
|
402 |
|
|
|
403 |
|
|
0.34 0.27 1.09 0.11 81% 81% Init semaphore
|
404 |
|
|
0.60 0.27 1.09 0.12 68% 6% Post [0] semaphore
|
405 |
|
|
0.59 0.54 0.82 0.08 81% 81% Wait [1] semaphore
|
406 |
|
|
0.59 0.54 2.17 0.10 96% 96% Trywait [0] semaphore
|
407 |
|
|
0.48 0.27 0.82 0.11 71% 25% Trywait [1] semaphore
|
408 |
|
|
0.24 0.00 0.82 0.09 78% 18% Peek semaphore
|
409 |
|
|
0.19 0.00 0.54 0.13 62% 34% Destroy semaphore
|
410 |
|
|
2.28 2.17 4.08 0.18 93% 90% Post/Wait semaphore
|
411 |
|
|
|
412 |
|
|
0.43 0.00 2.72 0.23 90% 6% Create counter
|
413 |
|
|
0.40 0.00 1.63 0.25 68% 28% Get counter value
|
414 |
|
|
0.13 0.00 0.82 0.15 96% 59% Set counter value
|
415 |
|
|
0.71 0.54 1.63 0.16 50% 46% Tick counter
|
416 |
|
|
0.16 0.00 0.54 0.14 53% 43% Delete counter
|
417 |
|
|
|
418 |
|
|
0.47 0.27 1.36 0.15 59% 37% Create alarm
|
419 |
|
|
1.58 1.09 7.07 0.44 71% 68% Initialize alarm
|
420 |
|
|
0.12 0.00 1.09 0.16 96% 65% Disable alarm
|
421 |
|
|
1.01 0.82 2.45 0.17 53% 43% Enable alarm
|
422 |
|
|
0.21 0.00 0.27 0.09 78% 21% Delete alarm
|
423 |
|
|
0.78 0.54 1.90 0.12 71% 25% Tick counter [1 alarm]
|
424 |
|
|
3.90 3.80 4.35 0.13 68% 68% Tick counter [many alarms]
|
425 |
|
|
1.25 1.09 1.63 0.14 53% 43% Tick & fire counter [1 alarm]
|
426 |
|
|
19.88 19.84 20.11 0.07 84% 84% Tick & fire counters [>1 together]
|
427 |
|
|
4.37 4.35 4.62 0.05 90% 90% Tick & fire counters [>1 separately]
|
428 |
|
|
3.83 3.80 7.61 0.06 99% 99% Alarm latency [0 threads]
|
429 |
|
|
4.46 3.80 7.88 0.27 71% 24% Alarm latency [2 threads]
|
430 |
|
|
16.06 13.59 26.36 1.05 54% 10% Alarm latency [many threads]
|
431 |
|
|
6.67 6.52 22.83 0.29 98% 98% Alarm -> thread resume latency
|
432 |
|
|
|
433 |
|
|
1.89 0.82 9.78 0.00 Clock/interrupt latency
|
434 |
|
|
|
435 |
|
|
2.17 1.09 7.34 0.00 Clock DSR latency
|
436 |
|
|
|
437 |
|
|
11 0 316 (main stack: 744) Thread stack used (1120 total)
|
438 |
|
|
All done, main stack : stack used 744 size 2400
|
439 |
|
|
All done : Interrupt stack used 288 size 4096
|
440 |
|
|
All done : Idlethread stack used 268 size 2048
|
441 |
|
|
|
442 |
|
|
Timing complete - 30210 ms total
|
443 |
|
|
|
444 |
|
|
PASS:<Basic timing OK>
|
445 |
|
|
EXIT:<done>
|
446 |
|
|
|
447 |
|
|
|
448 |
|
|
|
449 |
|
|
|
450 |
|
|
|
451 |
|
|
|
452 |
|
|
Board: Cirrus Logic EDB7111-2 Development Board
|
453 |
|
|
|
454 |
|
|
CPU : Cirrus Logic EP7211 73MHz
|
455 |
|
|
Board: Cirrus Logic EDB7111-2 Development Board
|
456 |
|
|
|
457 |
|
|
CPU : Cirrus Logic EP7211 73MHz
|
458 |
|
|
|
459 |
|
|
|
460 |
|
|
|
461 |
|
|
Startup, main stack : stack used 404 size 2400
|
462 |
|
|
Startup : Interrupt stack used 136 size 4096
|
463 |
|
|
Startup : Idlethread stack used 88 size 2048
|
464 |
|
|
|
465 |
|
|
eCos Kernel Timings
|
466 |
|
|
Notes: all times are in microseconds (.000001) unless otherwise stated
|
467 |
|
|
|
468 |
|
|
Reading the hardware clock takes 0 'ticks' overhead
|
469 |
|
|
... this value will be factored out of all other measurements
|
470 |
|
|
Clock interrupt took 356.69 microseconds (182 raw clock ticks)
|
471 |
|
|
|
472 |
|
|
Testing parameters:
|
473 |
|
|
Clock samples: 32
|
474 |
|
|
Threads: 64
|
475 |
|
|
Thread switches: 128
|
476 |
|
|
Mutexes: 32
|
477 |
|
|
Mailboxes: 32
|
478 |
|
|
Semaphores: 32
|
479 |
|
|
Scheduler operations: 128
|
480 |
|
|
Counters: 32
|
481 |
|
|
Alarms: 32
|
482 |
|
|
|
483 |
|
|
|
484 |
|
|
Confidence
|
485 |
|
|
Ave Min Max Var Ave Min Function
|
486 |
|
|
====== ====== ====== ====== ========== ========
|
487 |
|
|
22.71 17.58 37.11 3.07 46% 34% Create thread
|
488 |
|
|
4.36 3.91 5.86 0.70 76% 76% Yield thread [all suspended]
|
489 |
|
|
4.24 3.91 7.81 0.56 84% 84% Suspend [suspended] thread
|
490 |
|
|
4.09 1.95 7.81 0.45 85% 3% Resume thread
|
491 |
|
|
5.31 3.91 11.72 0.92 65% 32% Set priority
|
492 |
|
|
2.11 1.95 3.91 0.28 92% 92% Get priority
|
493 |
|
|
11.54 9.77 25.39 0.99 62% 28% Kill [suspended] thread
|
494 |
|
|
4.46 3.91 9.77 0.82 75% 75% Yield [no other] thread
|
495 |
|
|
7.57 5.86 13.67 0.69 75% 20% Resume [suspended low prio] thread
|
496 |
|
|
3.94 1.95 5.86 0.18 92% 3% Resume [runnable low prio] thread
|
497 |
|
|
7.02 5.86 13.67 1.05 53% 45% Suspend [runnable] thread
|
498 |
|
|
4.42 3.91 9.77 0.79 76% 76% Yield [only low prio] thread
|
499 |
|
|
4.24 1.95 5.86 0.61 79% 1% Suspend [runnable->not runnable]
|
500 |
|
|
11.29 9.77 27.34 1.14 57% 37% Kill [runnable] thread
|
501 |
|
|
6.29 3.91 11.72 0.84 71% 4% Destroy [dead] thread
|
502 |
|
|
13.52 11.72 31.25 0.90 70% 25% Destroy [runnable] thread
|
503 |
|
|
24.50 21.48 42.97 1.69 79% 12% Resume [high priority] thread
|
504 |
|
|
8.79 7.81 19.53 1.05 99% 53% Thread switch
|
505 |
|
|
|
506 |
|
|
1.66 0.00 3.91 0.52 83% 15% Scheduler lock
|
507 |
|
|
2.59 1.95 3.91 0.86 67% 67% Scheduler unlock [0 threads]
|
508 |
|
|
2.62 1.95 3.91 0.88 65% 65% Scheduler unlock [1 suspended]
|
509 |
|
|
2.61 1.95 3.91 0.87 66% 66% Scheduler unlock [many suspended]
|
510 |
|
|
2.58 1.95 3.91 0.85 67% 67% Scheduler unlock [many low prio]
|
511 |
|
|
|
512 |
|
|
2.69 1.95 5.86 0.96 65% 65% Init mutex
|
513 |
|
|
4.88 3.91 9.77 1.10 96% 56% Lock [unlocked] mutex
|
514 |
|
|
4.64 3.91 11.72 1.05 71% 71% Unlock [locked] mutex
|
515 |
|
|
3.97 1.95 7.81 0.47 81% 9% Trylock [unlocked] mutex
|
516 |
|
|
3.48 1.95 3.91 0.67 78% 21% Trylock [locked] mutex
|
517 |
|
|
1.77 0.00 3.91 0.44 84% 12% Destroy mutex
|
518 |
|
|
31.92 29.30 42.97 1.65 71% 18% Unlock/Lock mutex
|
519 |
|
|
|
520 |
|
|
4.09 3.91 9.77 0.35 96% 96% Create mbox
|
521 |
|
|
1.83 0.00 3.91 0.34 87% 9% Peek [empty] mbox
|
522 |
|
|
5.31 3.91 9.77 0.96 62% 34% Put [first] mbox
|
523 |
|
|
1.59 0.00 1.95 0.60 81% 18% Peek [1 msg] mbox
|
524 |
|
|
5.19 3.91 9.77 1.04 56% 40% Put [second] mbox
|
525 |
|
|
1.65 0.00 3.91 0.62 78% 18% Peek [2 msgs] mbox
|
526 |
|
|
5.43 3.91 9.77 0.86 68% 28% Get [first] mbox
|
527 |
|
|
5.31 3.91 7.81 0.96 59% 34% Get [second] mbox
|
528 |
|
|
4.76 3.91 9.77 1.07 62% 62% Tryput [first] mbox
|
529 |
|
|
4.82 1.95 9.77 1.15 93% 3% Peek item [non-empty] mbox
|
530 |
|
|
5.55 3.91 11.72 0.82 71% 25% Tryget [non-empty] mbox
|
531 |
|
|
3.97 1.95 7.81 0.59 75% 12% Peek item [empty] mbox
|
532 |
|
|
4.33 3.91 7.81 0.69 81% 81% Tryget [empty] mbox
|
533 |
|
|
1.59 0.00 3.91 0.79 68% 25% Waiting to get mbox
|
534 |
|
|
1.71 0.00 3.91 0.53 81% 15% Waiting to put mbox
|
535 |
|
|
5.25 3.91 9.77 1.01 59% 37% Delete mbox
|
536 |
|
|
17.82 15.63 29.30 1.14 65% 18% Put/Get mbox
|
537 |
|
|
|
538 |
|
|
2.69 1.95 5.86 0.96 65% 65% Init semaphore
|
539 |
|
|
3.78 1.95 7.81 0.46 84% 12% Post [0] semaphore
|
540 |
|
|
4.27 3.91 7.81 0.62 84% 84% Wait [1] semaphore
|
541 |
|
|
3.72 1.95 7.81 0.66 75% 18% Trywait [0] semaphore
|
542 |
|
|
3.29 1.95 5.86 0.92 62% 34% Trywait [1] semaphore
|
543 |
|
|
2.32 1.95 3.91 0.59 81% 81% Peek semaphore
|
544 |
|
|
1.89 0.00 3.91 0.24 90% 6% Destroy semaphore
|
545 |
|
|
15.75 13.67 29.30 1.07 68% 21% Post/Wait semaphore
|
546 |
|
|
|
547 |
|
|
2.69 1.95 5.86 0.96 65% 65% Create counter
|
548 |
|
|
1.83 0.00 1.95 0.23 93% 6% Get counter value
|
549 |
|
|
1.53 0.00 3.91 0.76 71% 25% Set counter value
|
550 |
|
|
4.82 3.91 5.86 0.97 53% 53% Tick counter
|
551 |
|
|
1.89 0.00 1.95 0.12 96% 3% Delete counter
|
552 |
|
|
|
553 |
|
|
3.78 1.95 7.81 0.46 84% 12% Create alarm
|
554 |
|
|
7.99 5.86 15.63 0.70 81% 9% Initialize alarm
|
555 |
|
|
1.71 0.00 1.95 0.43 87% 12% Disable alarm
|
556 |
|
|
7.14 5.86 11.72 1.04 56% 40% Enable alarm
|
557 |
|
|
2.50 1.95 3.91 0.79 71% 71% Delete alarm
|
558 |
|
|
4.94 3.91 7.81 1.04 96% 50% Tick counter [1 alarm]
|
559 |
|
|
19.47 17.58 23.44 0.36 87% 9% Tick counter [many alarms]
|
560 |
|
|
7.63 5.86 11.72 0.55 81% 15% Tick & fire counter [1 alarm]
|
561 |
|
|
99.06 97.66 105.47 1.05 59% 37% Tick & fire counters [>1 together]
|
562 |
|
|
22.15 21.48 27.34 0.96 71% 71% Tick & fire counters [>1 separately]
|
563 |
|
|
359.16 357.42 378.91 0.87 71% 25% Alarm latency [0 threads]
|
564 |
|
|
364.03 357.42 402.34 3.03 58% 15% Alarm latency [2 threads]
|
565 |
|
|
408.25 402.34 416.02 2.89 53% 24% Alarm latency [many threads]
|
566 |
|
|
381.16 376.95 492.19 2.48 95% 46% Alarm -> thread resume latency
|
567 |
|
|
|
568 |
|
|
9.79 5.86 19.53 0.00 Clock/interrupt latency
|
569 |
|
|
|
570 |
|
|
12.13 5.86 31.25 0.00 Clock DSR latency
|
571 |
|
|
|
572 |
|
|
12 0 316 (main stack: 752) Thread stack used (1120 total)
|
573 |
|
|
All done, main stack : stack used 752 size 2400
|
574 |
|
|
All done : Interrupt stack used 288 size 4096
|
575 |
|
|
All done : Idlethread stack used 276 size 2048
|
576 |
|
|
|
577 |
|
|
Timing complete - 30450 ms total
|
578 |
|
|
|
579 |
|
|
PASS:<Basic timing OK>
|
580 |
|
|
EXIT:<done>
|
581 |
|
|
|
582 |
|
|
|
583 |
|
|
|
584 |
|
|
|
585 |
|
|
CPU : Cirrus Logic EP7212 73MHz
|
586 |
|
|
Board: Cirrus Logic EDB7111-2 Development Board
|
587 |
|
|
|
588 |
|
|
CPU : Cirrus Logic EP7212 73MHz
|
589 |
|
|
|
590 |
|
|
|
591 |
|
|
|
592 |
|
|
Startup, main stack : stack used 404 size 2400
|
593 |
|
|
Startup : Interrupt stack used 136 size 4096
|
594 |
|
|
Startup : Idlethread stack used 88 size 2048
|
595 |
|
|
|
596 |
|
|
eCos Kernel Timings
|
597 |
|
|
Notes: all times are in microseconds (.000001) unless otherwise stated
|
598 |
|
|
|
599 |
|
|
Reading the hardware clock takes 0 'ticks' overhead
|
600 |
|
|
... this value will be factored out of all other measurements
|
601 |
|
|
Clock interrupt took 356.32 microseconds (182 raw clock ticks)
|
602 |
|
|
|
603 |
|
|
Testing parameters:
|
604 |
|
|
Clock samples: 32
|
605 |
|
|
Threads: 64
|
606 |
|
|
Thread switches: 128
|
607 |
|
|
Mutexes: 32
|
608 |
|
|
Mailboxes: 32
|
609 |
|
|
Semaphores: 32
|
610 |
|
|
Scheduler operations: 128
|
611 |
|
|
Counters: 32
|
612 |
|
|
Alarms: 32
|
613 |
|
|
|
614 |
|
|
|
615 |
|
|
Confidence
|
616 |
|
|
Ave Min Max Var Ave Min Function
|
617 |
|
|
====== ====== ====== ====== ========== ========
|
618 |
|
|
22.43 15.63 33.20 3.02 68% 18% Create thread
|
619 |
|
|
4.48 3.91 5.86 0.81 70% 70% Yield thread [all suspended]
|
620 |
|
|
4.42 3.91 7.81 0.78 75% 75% Suspend [suspended] thread
|
621 |
|
|
4.12 1.95 5.86 0.49 82% 3% Resume thread
|
622 |
|
|
5.62 3.91 11.72 0.64 78% 18% Set priority
|
623 |
|
|
2.17 1.95 3.91 0.38 89% 89% Get priority
|
624 |
|
|
11.54 9.77 27.34 0.88 70% 25% Kill [suspended] thread
|
625 |
|
|
4.64 3.91 9.77 0.96 65% 65% Yield [no other] thread
|
626 |
|
|
7.51 5.86 15.63 0.72 76% 21% Resume [suspended low prio] thread
|
627 |
|
|
3.88 1.95 9.77 0.42 82% 10% Resume [runnable low prio] thread
|
628 |
|
|
7.14 5.86 13.67 1.00 59% 39% Suspend [runnable] thread
|
629 |
|
|
4.52 3.91 7.81 0.86 70% 70% Yield [only low prio] thread
|
630 |
|
|
4.15 1.95 7.81 0.49 85% 1% Suspend [runnable->not runnable]
|
631 |
|
|
11.26 9.77 27.34 1.17 56% 39% Kill [runnable] thread
|
632 |
|
|
6.22 3.91 13.67 0.88 70% 7% Destroy [dead] thread
|
633 |
|
|
13.64 11.72 33.20 1.02 64% 26% Destroy [runnable] thread
|
634 |
|
|
24.17 21.48 41.02 1.49 82% 12% Resume [high priority] thread
|
635 |
|
|
8.80 7.81 21.48 1.08 98% 54% Thread switch
|
636 |
|
|
|
637 |
|
|
1.60 0.00 1.95 0.58 82% 17% Scheduler lock
|
638 |
|
|
2.61 1.95 3.91 0.87 66% 66% Scheduler unlock [0 threads]
|
639 |
|
|
2.59 1.95 3.91 0.86 67% 67% Scheduler unlock [1 suspended]
|
640 |
|
|
2.61 1.95 3.91 0.87 66% 66% Scheduler unlock [many suspended]
|
641 |
|
|
2.59 1.95 3.91 0.86 67% 67% Scheduler unlock [many low prio]
|
642 |
|
|
|
643 |
|
|
2.62 1.95 3.91 0.88 65% 65% Init mutex
|
644 |
|
|
4.82 3.91 9.77 1.09 96% 59% Lock [unlocked] mutex
|
645 |
|
|
4.39 3.91 9.77 0.79 81% 81% Unlock [locked] mutex
|
646 |
|
|
3.84 1.95 7.81 0.36 87% 9% Trylock [unlocked] mutex
|
647 |
|
|
3.54 1.95 5.86 0.69 75% 21% Trylock [locked] mutex
|
648 |
|
|
1.83 0.00 3.91 0.34 87% 9% Destroy mutex
|
649 |
|
|
34.61 31.25 46.88 1.68 78% 9% Unlock/Lock mutex
|
650 |
|
|
|
651 |
|
|
3.97 1.95 7.81 0.24 93% 3% Create mbox
|
652 |
|
|
1.83 0.00 3.91 0.34 87% 9% Peek [empty] mbox
|
653 |
|
|
4.76 3.91 9.77 1.07 62% 62% Put [first] mbox
|
654 |
|
|
1.71 0.00 3.91 0.64 75% 18% Peek [1 msg] mbox
|
655 |
|
|
5.00 3.91 9.77 1.10 96% 50% Put [second] mbox
|
656 |
|
|
1.65 0.00 1.95 0.52 84% 15% Peek [2 msgs] mbox
|
657 |
|
|
5.31 3.91 11.72 1.05 59% 37% Get [first] mbox
|
658 |
|
|
5.13 3.91 7.81 0.99 56% 40% Get [second] mbox
|
659 |
|
|
4.76 3.91 11.72 1.12 96% 65% Tryput [first] mbox
|
660 |
|
|
4.46 3.91 7.81 0.82 75% 75% Peek item [non-empty] mbox
|
661 |
|
|
5.55 3.91 9.77 0.82 68% 25% Tryget [non-empty] mbox
|
662 |
|
|
4.03 1.95 7.81 0.58 78% 9% Peek item [empty] mbox
|
663 |
|
|
4.27 3.91 5.86 0.59 81% 81% Tryget [empty] mbox
|
664 |
|
|
1.77 0.00 3.91 0.44 84% 12% Waiting to get mbox
|
665 |
|
|
1.59 0.00 1.95 0.60 81% 18% Waiting to put mbox
|
666 |
|
|
5.37 3.91 9.77 0.91 65% 31% Delete mbox
|
667 |
|
|
16.66 13.67 27.34 1.42 90% 3% Put/Get mbox
|
668 |
|
|
|
669 |
|
|
2.62 1.95 5.86 0.92 68% 68% Init semaphore
|
670 |
|
|
3.84 1.95 7.81 0.47 81% 12% Post [0] semaphore
|
671 |
|
|
4.21 3.91 7.81 0.53 87% 87% Wait [1] semaphore
|
672 |
|
|
3.48 1.95 5.86 0.76 71% 25% Trywait [0] semaphore
|
673 |
|
|
3.60 1.95 5.86 0.62 78% 18% Trywait [1] semaphore
|
674 |
|
|
2.26 1.95 5.86 0.53 87% 87% Peek semaphore
|
675 |
|
|
1.89 0.00 1.95 0.12 96% 3% Destroy semaphore
|
676 |
|
|
16.05 13.67 29.30 1.40 59% 18% Post/Wait semaphore
|
677 |
|
|
|
678 |
|
|
2.38 1.95 3.91 0.67 78% 78% Create counter
|
679 |
|
|
2.01 0.00 3.91 0.35 84% 6% Get counter value
|
680 |
|
|
1.89 0.00 3.91 0.24 90% 6% Set counter value
|
681 |
|
|
4.58 3.91 5.86 0.88 65% 65% Tick counter
|
682 |
|
|
1.71 0.00 1.95 0.43 87% 12% Delete counter
|
683 |
|
|
|
684 |
|
|
3.84 1.95 7.81 0.36 87% 9% Create alarm
|
685 |
|
|
7.99 5.86 15.63 0.47 93% 3% Initialize alarm
|
686 |
|
|
2.01 0.00 3.91 0.35 84% 6% Disable alarm
|
687 |
|
|
6.53 5.86 13.67 1.01 75% 75% Enable alarm
|
688 |
|
|
2.32 1.95 3.91 0.59 81% 81% Delete alarm
|
689 |
|
|
4.76 3.91 7.81 1.01 59% 59% Tick counter [1 alarm]
|
690 |
|
|
19.53 17.58 23.44 0.24 90% 6% Tick counter [many alarms]
|
691 |
|
|
7.57 5.86 13.67 0.75 75% 21% Tick & fire counter [1 alarm]
|
692 |
|
|
98.57 97.66 105.47 1.14 96% 62% Tick & fire counters [>1 together]
|
693 |
|
|
22.15 21.48 27.34 0.96 71% 71% Tick & fire counters [>1 separately]
|
694 |
|
|
359.18 357.42 384.77 1.10 65% 31% Alarm latency [0 threads]
|
695 |
|
|
362.63 357.42 396.48 2.55 43% 27% Alarm latency [2 threads]
|
696 |
|
|
408.22 402.34 416.02 2.73 55% 21% Alarm latency [many threads]
|
697 |
|
|
378.63 375.00 494.14 2.56 93% 71% Alarm -> thread resume latency
|
698 |
|
|
|
699 |
|
|
9.78 5.86 19.53 0.00 Clock/interrupt latency
|
700 |
|
|
|
701 |
|
|
12.21 5.86 31.25 0.00 Clock DSR latency
|
702 |
|
|
|
703 |
|
|
12 0 316 (main stack: 752) Thread stack used (1120 total)
|
704 |
|
|
All done, main stack : stack used 752 size 2400
|
705 |
|
|
All done : Interrupt stack used 288 size 4096
|
706 |
|
|
All done : Idlethread stack used 276 size 2048
|
707 |
|
|
|
708 |
|
|
Timing complete - 30550 ms total
|
709 |
|
|
|
710 |
|
|
PASS:<Basic timing OK>
|
711 |
|
|
EXIT:<done>
|
712 |
|
|
|
713 |
|
|
|
714 |
|
|
|
715 |
|
|
|
716 |
|
|
|
717 |
|
|
|
718 |
|
|
|
719 |
|
|
|
720 |
|
|
Board: ARM PID Evaluation Board
|
721 |
|
|
|
722 |
|
|
CPU : ARM 7TDMI 20 MHz
|
723 |
|
|
Board: ARM PID Evaluation Board
|
724 |
|
|
|
725 |
|
|
CPU : ARM 7TDMI 20 MHz
|
726 |
|
|
|
727 |
|
|
|
728 |
|
|
|
729 |
|
|
Startup, main stack : stack used 404 size 2400
|
730 |
|
|
Startup : Interrupt stack used 136 size 4096
|
731 |
|
|
Startup : Idlethread stack used 84 size 2048
|
732 |
|
|
|
733 |
|
|
eCos Kernel Timings
|
734 |
|
|
Notes: all times are in microseconds (.000001) unless otherwise stated
|
735 |
|
|
|
736 |
|
|
Reading the hardware clock takes 6 'ticks' overhead
|
737 |
|
|
... this value will be factored out of all other measurements
|
738 |
|
|
Clock interrupt took 120.74 microseconds (150 raw clock ticks)
|
739 |
|
|
|
740 |
|
|
Testing parameters:
|
741 |
|
|
Clock samples: 32
|
742 |
|
|
Threads: 50
|
743 |
|
|
Thread switches: 128
|
744 |
|
|
Mutexes: 32
|
745 |
|
|
Mailboxes: 32
|
746 |
|
|
Semaphores: 32
|
747 |
|
|
Scheduler operations: 128
|
748 |
|
|
Counters: 32
|
749 |
|
|
Alarms: 32
|
750 |
|
|
|
751 |
|
|
|
752 |
|
|
Confidence
|
753 |
|
|
Ave Min Max Var Ave Min Function
|
754 |
|
|
====== ====== ====== ====== ========== ========
|
755 |
|
|
99.01 68.00 129.60 15.62 50% 26% Create thread
|
756 |
|
|
21.60 21.60 21.60 0.00 100% 100% Yield thread [all suspended]
|
757 |
|
|
15.65 15.20 16.00 0.39 56% 44% Suspend [suspended] thread
|
758 |
|
|
15.79 15.20 16.00 0.31 74% 26% Resume thread
|
759 |
|
|
23.65 23.20 24.00 0.39 56% 44% Set priority
|
760 |
|
|
2.26 1.60 2.40 0.24 82% 18% Get priority
|
761 |
|
|
51.39 51.20 52.00 0.29 76% 76% Kill [suspended] thread
|
762 |
|
|
21.60 21.60 21.60 0.00 100% 100% Yield [no other] thread
|
763 |
|
|
29.47 28.00 29.60 0.22 86% 2% Resume [suspended low prio] thread
|
764 |
|
|
15.60 15.20 16.00 0.40 100% 50% Resume [runnable low prio] thread
|
765 |
|
|
27.73 24.00 28.00 0.40 74% 2% Suspend [runnable] thread
|
766 |
|
|
21.60 21.60 21.60 0.00 100% 100% Yield [only low prio] thread
|
767 |
|
|
15.65 15.20 16.00 0.39 56% 44% Suspend [runnable->not runnable]
|
768 |
|
|
51.39 51.20 52.00 0.29 76% 76% Kill [runnable] thread
|
769 |
|
|
27.66 27.20 28.80 0.41 54% 44% Destroy [dead] thread
|
770 |
|
|
68.93 64.80 69.60 0.35 72% 2% Destroy [runnable] thread
|
771 |
|
|
91.26 90.40 107.20 0.64 66% 32% Resume [high priority] thread
|
772 |
|
|
49.14 48.80 49.60 0.39 57% 57% Thread switch
|
773 |
|
|
|
774 |
|
|
2.20 1.60 2.40 0.30 75% 25% Scheduler lock
|
775 |
|
|
10.20 9.60 10.40 0.30 75% 25% Scheduler unlock [0 threads]
|
776 |
|
|
10.20 9.60 10.40 0.30 75% 25% Scheduler unlock [1 suspended]
|
777 |
|
|
10.20 9.60 10.40 0.30 75% 25% Scheduler unlock [many suspended]
|
778 |
|
|
10.20 9.60 10.40 0.30 75% 25% Scheduler unlock [many low prio]
|
779 |
|
|
|
780 |
|
|
6.85 6.40 7.20 0.39 56% 43% Init mutex
|
781 |
|
|
18.40 18.40 18.40 0.00 100% 100% Lock [unlocked] mutex
|
782 |
|
|
19.57 19.20 20.00 0.40 53% 53% Unlock [locked] mutex
|
783 |
|
|
16.55 16.00 16.80 0.34 68% 31% Trylock [unlocked] mutex
|
784 |
|
|
14.55 14.40 15.20 0.24 81% 81% Trylock [locked] mutex
|
785 |
|
|
3.55 3.20 4.00 0.39 56% 56% Destroy mutex
|
786 |
|
|
119.85 119.20 120.00 0.24 81% 18% Unlock/Lock mutex
|
787 |
|
|
|
788 |
|
|
12.85 12.80 13.60 0.09 93% 93% Create mbox
|
789 |
|
|
1.65 1.60 2.40 0.09 93% 93% Peek [empty] mbox
|
790 |
|
|
20.70 20.00 20.80 0.17 87% 12% Put [first] mbox
|
791 |
|
|
1.65 1.60 2.40 0.09 93% 93% Peek [1 msg] mbox
|
792 |
|
|
20.70 20.00 20.80 0.17 87% 12% Put [second] mbox
|
793 |
|
|
1.65 1.60 2.40 0.09 93% 93% Peek [2 msgs] mbox
|
794 |
|
|
20.85 20.80 21.60 0.09 93% 93% Get [first] mbox
|
795 |
|
|
20.85 20.80 21.60 0.09 93% 93% Get [second] mbox
|
796 |
|
|
19.90 19.20 20.00 0.17 87% 12% Tryput [first] mbox
|
797 |
|
|
17.60 17.60 17.60 0.00 100% 100% Peek item [non-empty] mbox
|
798 |
|
|
20.90 20.80 21.60 0.17 87% 87% Tryget [non-empty] mbox
|
799 |
|
|
16.80 16.80 16.80 0.00 100% 100% Peek item [empty] mbox
|
800 |
|
|
17.65 17.60 18.40 0.09 93% 93% Tryget [empty] mbox
|
801 |
|
|
1.85 1.60 2.40 0.34 68% 68% Waiting to get mbox
|
802 |
|
|
1.85 1.60 2.40 0.34 68% 68% Waiting to put mbox
|
803 |
|
|
19.40 19.20 20.00 0.30 75% 75% Delete mbox
|
804 |
|
|
65.05 64.80 65.60 0.34 68% 68% Put/Get mbox
|
805 |
|
|
|
806 |
|
|
7.05 6.40 7.20 0.24 81% 18% Init semaphore
|
807 |
|
|
15.55 15.20 16.00 0.39 56% 56% Post [0] semaphore
|
808 |
|
|
17.35 16.80 17.60 0.34 68% 31% Wait [1] semaphore
|
809 |
|
|
14.60 14.40 15.20 0.30 75% 75% Trywait [0] semaphore
|
810 |
|
|
14.20 13.60 14.40 0.30 75% 25% Trywait [1] semaphore
|
811 |
|
|
4.55 4.00 4.80 0.34 68% 31% Peek semaphore
|
812 |
|
|
3.75 3.20 4.00 0.34 68% 31% Destroy semaphore
|
813 |
|
|
70.85 70.40 71.20 0.39 56% 43% Post/Wait semaphore
|
814 |
|
|
|
815 |
|
|
6.05 5.60 6.40 0.39 56% 43% Create counter
|
816 |
|
|
2.25 1.60 2.40 0.24 81% 18% Get counter value
|
817 |
|
|
2.25 1.60 2.40 0.24 81% 18% Set counter value
|
818 |
|
|
19.70 19.20 20.00 0.37 62% 37% Tick counter
|
819 |
|
|
3.45 3.20 4.00 0.34 68% 68% Delete counter
|
820 |
|
|
|
821 |
|
|
9.05 8.80 9.60 0.34 68% 68% Create alarm
|
822 |
|
|
29.60 29.60 29.60 0.00 100% 100% Initialize alarm
|
823 |
|
|
2.15 1.60 2.40 0.34 68% 31% Disable alarm
|
824 |
|
|
29.35 28.80 29.60 0.34 68% 31% Enable alarm
|
825 |
|
|
5.10 4.80 5.60 0.37 62% 62% Delete alarm
|
826 |
|
|
23.20 23.20 23.20 0.00 100% 100% Tick counter [1 alarm]
|
827 |
|
|
138.00 137.60 138.40 0.40 100% 50% Tick counter [many alarms]
|
828 |
|
|
40.40 40.00 40.80 0.40 100% 50% Tick & fire counter [1 alarm]
|
829 |
|
|
704.25 697.60 804.00 12.47 93% 93% Tick & fire counters [>1 together]
|
830 |
|
|
155.20 155.20 155.20 0.00 100% 100% Tick & fire counters [>1 separately]
|
831 |
|
|
105.20 104.80 151.20 0.76 99% 94% Alarm latency [0 threads]
|
832 |
|
|
117.57 104.80 149.60 7.13 57% 25% Alarm latency [2 threads]
|
833 |
|
|
117.49 104.80 148.80 7.10 58% 26% Alarm latency [many threads]
|
834 |
|
|
192.59 177.60 316.00 1.93 98% 0% Alarm -> thread resume latency
|
835 |
|
|
|
836 |
|
|
22.10 21.60 24.00 0.00 Clock/interrupt latency
|
837 |
|
|
|
838 |
|
|
38.69 32.80 61.60 0.00 Clock DSR latency
|
839 |
|
|
|
840 |
|
|
297 276 316 (main stack: 752) Thread stack used (1120 total)
|
841 |
|
|
All done, main stack : stack used 752 size 2400
|
842 |
|
|
All done : Interrupt stack used 288 size 4096
|
843 |
|
|
All done : Idlethread stack used 272 size 2048
|
844 |
|
|
|
845 |
|
|
Timing complete - 30350 ms total
|
846 |
|
|
|
847 |
|
|
PASS:<Basic timing OK>
|
848 |
|
|
EXIT:<done>
|
849 |
|
|
|
850 |
|
|
|
851 |
|
|
|
852 |
|
|
|
853 |
|
|
CPU : ARM 920T 20 MHz
|
854 |
|
|
|
855 |
|
|
|
856 |
|
|
Board: ARM PID Evaluation Board
|
857 |
|
|
|
858 |
|
|
CPU : ARM 920T 20 MHz
|
859 |
|
|
|
860 |
|
|
|
861 |
|
|
Startup, main stack : stack used 404 size 2400
|
862 |
|
|
Startup : Interrupt stack used 136 size 4096
|
863 |
|
|
Startup : Idlethread stack used 84 size 2048
|
864 |
|
|
|
865 |
|
|
eCos Kernel Timings
|
866 |
|
|
Notes: all times are in microseconds (.000001) unless otherwise stated
|
867 |
|
|
|
868 |
|
|
Reading the hardware clock takes 15 'ticks' overhead
|
869 |
|
|
... this value will be factored out of all other measurements
|
870 |
|
|
Clock interrupt took 291.41 microseconds (364 raw clock ticks)
|
871 |
|
|
|
872 |
|
|
Testing parameters:
|
873 |
|
|
Clock samples: 32
|
874 |
|
|
Threads: 50
|
875 |
|
|
Thread switches: 128
|
876 |
|
|
Mutexes: 32
|
877 |
|
|
Mailboxes: 32
|
878 |
|
|
Semaphores: 32
|
879 |
|
|
Scheduler operations: 128
|
880 |
|
|
Counters: 32
|
881 |
|
|
Alarms: 32
|
882 |
|
|
|
883 |
|
|
|
884 |
|
|
Confidence
|
885 |
|
|
Ave Min Max Var Ave Min Function
|
886 |
|
|
====== ====== ====== ====== ========== ========
|
887 |
|
|
257.78 168.00 568.00 48.70 56% 28% Create thread
|
888 |
|
|
50.21 49.60 50.40 0.29 76% 24% Yield thread [all suspended]
|
889 |
|
|
36.26 36.00 36.80 0.35 68% 68% Suspend [suspended] thread
|
890 |
|
|
37.20 36.80 37.60 0.40 100% 50% Resume thread
|
891 |
|
|
56.24 56.00 56.80 0.34 70% 70% Set priority
|
892 |
|
|
5.20 4.80 5.60 0.40 100% 50% Get priority
|
893 |
|
|
122.75 122.40 123.20 0.39 56% 56% Kill [suspended] thread
|
894 |
|
|
50.19 49.60 50.40 0.31 74% 26% Yield [no other] thread
|
895 |
|
|
69.49 66.40 69.60 0.21 92% 2% Resume [suspended low prio] thread
|
896 |
|
|
37.01 36.80 37.60 0.31 74% 74% Resume [runnable low prio] thread
|
897 |
|
|
64.75 55.20 65.60 0.38 80% 2% Suspend [runnable] thread
|
898 |
|
|
50.19 49.60 50.40 0.31 74% 26% Yield [only low prio] thread
|
899 |
|
|
36.24 36.00 36.80 0.34 70% 70% Suspend [runnable->not runnable]
|
900 |
|
|
122.75 122.40 123.20 0.39 56% 56% Kill [runnable] thread
|
901 |
|
|
67.76 67.20 68.00 0.34 70% 30% Destroy [dead] thread
|
902 |
|
|
167.07 158.40 168.00 0.35 92% 2% Destroy [runnable] thread
|
903 |
|
|
213.49 212.00 249.60 1.46 84% 90% Resume [high priority] thread
|
904 |
|
|
122.81 120.00 389.60 4.17 99% 99% Thread switch
|
905 |
|
|
|
906 |
|
|
4.70 4.00 4.80 0.17 87% 12% Scheduler lock
|
907 |
|
|
23.70 23.20 24.00 0.37 62% 37% Scheduler unlock [0 threads]
|
908 |
|
|
23.60 23.20 24.00 0.40 100% 50% Scheduler unlock [1 suspended]
|
909 |
|
|
23.70 23.20 24.00 0.37 62% 37% Scheduler unlock [many suspended]
|
910 |
|
|
23.60 23.20 24.00 0.40 100% 50% Scheduler unlock [many low prio]
|
911 |
|
|
|
912 |
|
|
15.65 15.20 16.00 0.39 56% 43% Init mutex
|
913 |
|
|
42.40 42.40 42.40 0.00 100% 100% Lock [unlocked] mutex
|
914 |
|
|
45.37 44.80 46.40 0.36 65% 31% Unlock [locked] mutex
|
915 |
|
|
39.20 39.20 39.20 0.00 100% 100% Trylock [unlocked] mutex
|
916 |
|
|
34.45 34.40 35.20 0.09 93% 93% Trylock [locked] mutex
|
917 |
|
|
8.00 8.00 8.00 0.00 100% 100% Destroy mutex
|
918 |
|
|
284.42 284.00 284.80 0.40 53% 46% Unlock/Lock mutex
|
919 |
|
|
|
920 |
|
|
29.40 28.80 29.60 0.30 75% 25% Create mbox
|
921 |
|
|
3.35 3.20 4.00 0.24 81% 81% Peek [empty] mbox
|
922 |
|
|
49.35 48.80 49.60 0.34 68% 31% Put [first] mbox
|
923 |
|
|
3.35 3.20 4.00 0.24 81% 81% Peek [1 msg] mbox
|
924 |
|
|
49.35 48.80 49.60 0.34 68% 31% Put [second] mbox
|
925 |
|
|
3.35 3.20 4.00 0.24 81% 81% Peek [2 msgs] mbox
|
926 |
|
|
49.15 48.80 49.60 0.39 56% 56% Get [first] mbox
|
927 |
|
|
49.15 48.80 49.60 0.39 56% 56% Get [second] mbox
|
928 |
|
|
47.80 47.20 48.00 0.30 75% 25% Tryput [first] mbox
|
929 |
|
|
41.40 40.80 41.60 0.30 75% 25% Peek item [non-empty] mbox
|
930 |
|
|
49.40 48.80 49.60 0.30 75% 25% Tryget [non-empty] mbox
|
931 |
|
|
40.15 40.00 40.80 0.24 81% 81% Peek item [empty] mbox
|
932 |
|
|
40.95 40.80 41.60 0.24 81% 81% Tryget [empty] mbox
|
933 |
|
|
4.05 4.00 4.80 0.09 93% 93% Waiting to get mbox
|
934 |
|
|
4.05 4.00 4.80 0.09 93% 93% Waiting to put mbox
|
935 |
|
|
45.60 45.60 45.60 0.00 100% 100% Delete mbox
|
936 |
|
|
153.27 152.80 153.60 0.39 59% 40% Put/Get mbox
|
937 |
|
|
|
938 |
|
|
16.80 16.80 16.80 0.00 100% 100% Init semaphore
|
939 |
|
|
36.60 36.00 36.80 0.30 75% 25% Post [0] semaphore
|
940 |
|
|
39.60 39.20 40.00 0.40 100% 50% Wait [1] semaphore
|
941 |
|
|
34.80 34.40 35.20 0.40 100% 50% Trywait [0] semaphore
|
942 |
|
|
33.35 32.80 33.60 0.34 68% 31% Trywait [1] semaphore
|
943 |
|
|
10.30 9.60 10.40 0.17 87% 12% Peek semaphore
|
944 |
|
|
8.80 8.80 8.80 0.00 100% 100% Destroy semaphore
|
945 |
|
|
166.92 166.40 167.20 0.36 65% 34% Post/Wait semaphore
|
946 |
|
|
|
947 |
|
|
13.60 13.60 13.60 0.00 100% 100% Create counter
|
948 |
|
|
4.85 4.80 5.60 0.09 93% 93% Get counter value
|
949 |
|
|
4.80 4.80 4.80 0.00 100% 100% Set counter value
|
950 |
|
|
45.25 44.80 45.60 0.39 56% 43% Tick counter
|
951 |
|
|
7.75 7.20 8.00 0.34 68% 31% Delete counter
|
952 |
|
|
|
953 |
|
|
20.80 20.80 20.80 0.00 100% 100% Create alarm
|
954 |
|
|
69.30 68.80 69.60 0.37 62% 37% Initialize alarm
|
955 |
|
|
4.80 4.80 4.80 0.00 100% 100% Disable alarm
|
956 |
|
|
67.35 67.20 68.00 0.24 81% 81% Enable alarm
|
957 |
|
|
11.80 11.20 12.00 0.30 75% 25% Delete alarm
|
958 |
|
|
54.80 54.40 55.20 0.40 100% 50% Tick counter [1 alarm]
|
959 |
|
|
372.35 363.20 652.80 17.53 96% 96% Tick counter [many alarms]
|
960 |
|
|
95.50 95.20 96.00 0.37 62% 62% Tick & fire counter [1 alarm]
|
961 |
|
|
1757.92 1707.20 1996.80 81.43 81% 81% Tick & fire counters [>1 together]
|
962 |
|
|
404.37 404.00 404.80 0.40 53% 53% Tick & fire counters [>1 separately]
|
963 |
|
|
256.57 254.40 395.20 2.17 98% 97% Alarm latency [0 threads]
|
964 |
|
|
296.60 255.20 359.20 23.53 53% 31% Alarm latency [2 threads]
|
965 |
|
|
307.49 265.60 357.60 27.52 53% 53% Alarm latency [many threads]
|
966 |
|
|
467.04 432.00 788.80 5.03 97% 1% Alarm -> thread resume latency
|
967 |
|
|
|
968 |
|
|
55.63 54.40 60.80 0.00 Clock/interrupt latency
|
969 |
|
|
|
970 |
|
|
101.23 80.80 1433.60 0.00 Clock DSR latency
|
971 |
|
|
|
972 |
|
|
316 316 316 (main stack: 752) Thread stack used (1120 total)
|
973 |
|
|
All done, main stack : stack used 752 size 2400
|
974 |
|
|
All done : Interrupt stack used 288 size 4096
|
975 |
|
|
All done : Idlethread stack used 272 size 2048
|
976 |
|
|
|
977 |
|
|
Timing complete - 30780 ms total
|
978 |
|
|
|
979 |
|
|
PASS:<Basic timing OK>
|
980 |
|
|
EXIT:<done>
|
981 |
|
|
|
982 |
|
|
|
983 |
|
|
|
984 |
|
|
|
985 |
|
|
|
986 |
|
|
|
987 |
|
|
|
988 |
|
|
Board: Intel IQ80310 XScale Development Kit
|
989 |
|
|
Board: Intel IQ80310 XScale Development Kit
|
990 |
|
|
|
991 |
|
|
CPU: Intel XScale 600MHz
|
992 |
|
|
|
993 |
|
|
|
994 |
|
|
Startup, main stack : stack used 388 size 2400
|
995 |
|
|
Startup : Interrupt stack used 148 size 4096
|
996 |
|
|
Startup : Idlethread stack used 76 size 1120
|
997 |
|
|
|
998 |
|
|
eCos Kernel Timings
|
999 |
|
|
Notes: all times are in microseconds (.000001) unless otherwise stated
|
1000 |
|
|
|
1001 |
|
|
Reading the hardware clock takes 73 'ticks' overhead
|
1002 |
|
|
... this value will be factored out of all other measurements
|
1003 |
|
|
Clock interrupt took 12.11 microseconds (399 raw clock ticks)
|
1004 |
|
|
|
1005 |
|
|
Testing parameters:
|
1006 |
|
|
Clock samples: 32
|
1007 |
|
|
Threads: 64
|
1008 |
|
|
Thread switches: 128
|
1009 |
|
|
Mutexes: 32
|
1010 |
|
|
Mailboxes: 32
|
1011 |
|
|
Semaphores: 32
|
1012 |
|
|
Scheduler operations: 128
|
1013 |
|
|
Counters: 32
|
1014 |
|
|
Alarms: 32
|
1015 |
|
|
|
1016 |
|
|
|
1017 |
|
|
Confidence
|
1018 |
|
|
Ave Min Max Var Ave Min Function
|
1019 |
|
|
====== ====== ====== ====== ========== ========
|
1020 |
|
|
6.53 5.48 8.55 0.50 53% 23% Create thread
|
1021 |
|
|
0.37 0.03 3.24 0.18 87% 1% Yield thread [all suspended]
|
1022 |
|
|
0.24 0.00 2.06 0.12 87% 1% Suspend [suspended] thread
|
1023 |
|
|
0.25 0.00 0.73 0.06 71% 1% Resume thread
|
1024 |
|
|
0.36 0.09 0.82 0.10 89% 1% Set priority
|
1025 |
|
|
0.03 0.00 0.42 0.05 90% 90% Get priority
|
1026 |
|
|
1.07 0.52 6.39 0.18 92% 1% Kill [suspended] thread
|
1027 |
|
|
0.33 0.06 0.91 0.08 78% 3% Yield [no other] thread
|
1028 |
|
|
0.55 0.03 1.06 0.09 85% 1% Resume [suspended low prio] thread
|
1029 |
|
|
0.28 0.00 1.79 0.11 84% 4% Resume [runnable low prio] thread
|
1030 |
|
|
0.43 0.00 1.00 0.12 76% 1% Suspend [runnable] thread
|
1031 |
|
|
0.31 0.00 1.24 0.09 82% 4% Yield [only low prio] thread
|
1032 |
|
|
0.21 0.00 0.42 0.04 73% 1% Suspend [runnable->not runnable]
|
1033 |
|
|
1.00 0.88 1.45 0.04 78% 4% Kill [runnable] thread
|
1034 |
|
|
0.59 0.42 3.97 0.13 81% 87% Destroy [dead] thread
|
1035 |
|
|
1.43 1.27 1.94 0.07 78% 7% Destroy [runnable] thread
|
1036 |
|
|
3.12 2.58 5.09 0.33 56% 34% Resume [high priority] thread
|
1037 |
|
|
0.87 0.36 1.39 0.07 86% 0% Thread switch
|
1038 |
|
|
|
1039 |
|
|
0.15 0.00 1.39 0.21 81% 81% Scheduler lock
|
1040 |
|
|
0.16 0.00 0.64 0.08 85% 7% Scheduler unlock [0 threads]
|
1041 |
|
|
0.16 0.00 0.64 0.08 75% 8% Scheduler unlock [1 suspended]
|
1042 |
|
|
0.16 0.00 0.70 0.08 78% 6% Scheduler unlock [many suspended]
|
1043 |
|
|
0.16 0.00 0.64 0.07 81% 4% Scheduler unlock [many low prio]
|
1044 |
|
|
|
1045 |
|
|
0.45 0.00 1.39 0.34 56% 46% Init mutex
|
1046 |
|
|
0.43 0.18 3.27 0.23 87% 87% Lock [unlocked] mutex
|
1047 |
|
|
0.48 0.09 3.88 0.26 84% 71% Unlock [locked] mutex
|
1048 |
|
|
0.35 0.21 2.24 0.21 87% 84% Trylock [unlocked] mutex
|
1049 |
|
|
0.26 0.00 0.67 0.13 78% 9% Trylock [locked] mutex
|
1050 |
|
|
0.21 0.00 1.27 0.24 78% 75% Destroy mutex
|
1051 |
|
|
2.58 2.09 3.09 0.13 75% 9% Unlock/Lock mutex
|
1052 |
|
|
|
1053 |
|
|
0.99 0.21 2.48 0.41 65% 28% Create mbox
|
1054 |
|
|
0.04 0.00 0.39 0.07 90% 87% Peek [empty] mbox
|
1055 |
|
|
0.47 0.27 3.48 0.29 90% 78% Put [first] mbox
|
1056 |
|
|
0.02 0.00 0.39 0.03 90% 90% Peek [1 msg] mbox
|
1057 |
|
|
0.29 0.15 0.58 0.04 68% 3% Put [second] mbox
|
1058 |
|
|
0.02 0.00 0.45 0.04 93% 93% Peek [2 msgs] mbox
|
1059 |
|
|
0.48 0.21 3.67 0.26 84% 87% Get [first] mbox
|
1060 |
|
|
0.35 0.09 0.82 0.11 75% 3% Get [second] mbox
|
1061 |
|
|
0.50 0.21 3.18 0.33 90% 68% Tryput [first] mbox
|
1062 |
|
|
0.39 0.15 1.39 0.19 78% 68% Peek item [non-empty] mbox
|
1063 |
|
|
0.43 0.18 3.33 0.23 87% 90% Tryget [non-empty] mbox
|
1064 |
|
|
0.28 0.03 0.79 0.06 68% 3% Peek item [empty] mbox
|
1065 |
|
|
0.28 0.21 0.58 0.05 71% 65% Tryget [empty] mbox
|
1066 |
|
|
0.01 0.00 0.36 0.02 96% 90% Waiting to get mbox
|
1067 |
|
|
0.05 0.00 0.45 0.09 87% 84% Waiting to put mbox
|
1068 |
|
|
0.42 0.09 2.88 0.20 84% 12% Delete mbox
|
1069 |
|
|
1.39 1.27 2.39 0.14 87% 87% Put/Get mbox
|
1070 |
|
|
|
1071 |
|
|
0.35 0.00 1.36 0.45 75% 68% Init semaphore
|
1072 |
|
|
0.19 0.00 0.45 0.04 81% 3% Post [0] semaphore
|
1073 |
|
|
0.25 0.21 0.88 0.06 84% 81% Wait [1] semaphore
|
1074 |
|
|
0.32 0.06 1.79 0.21 78% 68% Trywait [0] semaphore
|
1075 |
|
|
0.20 0.00 0.52 0.06 62% 3% Trywait [1] semaphore
|
1076 |
|
|
0.07 0.00 0.45 0.10 84% 81% Peek semaphore
|
1077 |
|
|
0.06 0.00 0.52 0.06 71% 78% Destroy semaphore
|
1078 |
|
|
1.45 1.42 1.79 0.04 87% 87% Post/Wait semaphore
|
1079 |
|
|
|
1080 |
|
|
0.70 0.00 2.88 0.47 43% 34% Create counter
|
1081 |
|
|
0.05 0.00 0.42 0.09 87% 84% Get counter value
|
1082 |
|
|
0.02 0.00 0.45 0.04 93% 93% Set counter value
|
1083 |
|
|
0.38 0.12 0.58 0.06 59% 3% Tick counter
|
1084 |
|
|
0.03 0.00 0.48 0.05 93% 78% Delete counter
|
1085 |
|
|
|
1086 |
|
|
1.10 0.39 4.30 0.47 62% 53% Create alarm
|
1087 |
|
|
0.58 0.03 3.12 0.18 87% 3% Initialize alarm
|
1088 |
|
|
0.04 0.00 0.42 0.07 90% 90% Disable alarm
|
1089 |
|
|
0.54 0.36 1.36 0.12 84% 43% Enable alarm
|
1090 |
|
|
0.03 0.00 0.70 0.06 84% 84% Delete alarm
|
1091 |
|
|
0.50 0.24 0.97 0.08 84% 6% Tick counter [1 alarm]
|
1092 |
|
|
5.30 5.12 5.97 0.14 84% 75% Tick counter [many alarms]
|
1093 |
|
|
0.82 0.64 1.36 0.11 78% 43% Tick & fire counter [1 alarm]
|
1094 |
|
|
14.13 13.85 14.55 0.09 78% 3% Tick & fire counters [>1 together]
|
1095 |
|
|
5.56 5.45 6.00 0.09 78% 71% Tick & fire counters [>1 separately]
|
1096 |
|
|
9.69 9.45 12.52 0.22 64% 71% Alarm latency [0 threads]
|
1097 |
|
|
9.98 9.48 12.76 0.23 69% 14% Alarm latency [2 threads]
|
1098 |
|
|
10.38 9.48 24.67 0.59 74% 45% Alarm latency [many threads]
|
1099 |
|
|
11.72 11.30 21.33 0.32 81% 58% Alarm -> thread resume latency
|
1100 |
|
|
|
1101 |
|
|
1.87 1.82 10.42 0.00 Clock/interrupt latency
|
1102 |
|
|
|
1103 |
|
|
3.02 2.58 7.67 0.00 Clock DSR latency
|
1104 |
|
|
|
1105 |
|
|
9 0 260 (main stack: 776) Thread stack used (1120 total)
|
1106 |
|
|
All done, main stack : stack used 776 size 2400
|
1107 |
|
|
All done : Interrupt stack used 268 size 4096
|
1108 |
|
|
All done : Idlethread stack used 244 size 1120
|
1109 |
|
|
|
1110 |
|
|
Timing complete - 30300 ms total
|
1111 |
|
|
|
1112 |
|
|
PASS:<Basic timing OK>
|
1113 |
|
|
EXIT:<done>
|
1114 |
|
|
|
1115 |
|
|
|
1116 |
|
|
|
1117 |
|
|
|
1118 |
|
|
|
1119 |
|
|
|
1120 |
|
|
|
1121 |
|
|
Board: Toshiba JMR3904 Evaluation Board
|
1122 |
|
|
|
1123 |
|
|
|
1124 |
|
|
Board: Toshiba JMR3904 Evaluation Board
|
1125 |
|
|
|
1126 |
|
|
CPU : TMPR3904F 50MHz
|
1127 |
|
|
|
1128 |
|
|
|
1129 |
|
|
eCOS Kernel Timings
|
1130 |
|
|
Note: all times are in microseconds (.000001) unless otherwise stated
|
1131 |
|
|
|
1132 |
|
|
Reading the hardware clock takes 0 'ticks' overhead
|
1133 |
|
|
... this value will be factored out of all other measurements
|
1134 |
|
|
Clock interrupt took 29.68 microseconds (45 raw clock ticks)
|
1135 |
|
|
|
1136 |
|
|
Testing parameters:
|
1137 |
|
|
Clock samples: 32
|
1138 |
|
|
Threads: 24
|
1139 |
|
|
Thread switches: 128
|
1140 |
|
|
Mutexes: 32
|
1141 |
|
|
Mailboxes: 32
|
1142 |
|
|
Semaphores: 32
|
1143 |
|
|
Scheduler operations: 128
|
1144 |
|
|
Counters: 32
|
1145 |
|
|
Alarms: 32
|
1146 |
|
|
|
1147 |
|
|
|
1148 |
|
|
Confidence
|
1149 |
|
|
Ave Min Max Var Ave Min Function
|
1150 |
|
|
====== ====== ====== ====== ========== ========
|
1151 |
|
|
13.62 11.72 27.99 1.51 79% 54% Create thread
|
1152 |
|
|
2.77 2.60 3.91 0.26 79% 79% Yield thread [all suspended]
|
1153 |
|
|
3.31 2.60 6.51 0.27 83% 12% Suspend [suspended] thread
|
1154 |
|
|
2.58 1.95 7.81 0.47 58% 37% Resume thread
|
1155 |
|
|
4.94 4.56 11.07 0.60 95% 79% Set priority
|
1156 |
|
|
0.71 0.65 1.95 0.10 95% 95% Get priority
|
1157 |
|
|
14.97 14.32 25.39 0.87 95% 95% Kill [suspended] thread
|
1158 |
|
|
2.25 1.95 9.11 0.57 95% 95% Yield [no other] thread
|
1159 |
|
|
7.27 6.51 12.37 0.42 79% 16% Resume [suspended low prio] thread
|
1160 |
|
|
2.28 1.95 7.16 0.51 95% 79% Resume [runnable low prio] thread
|
1161 |
|
|
4.31 3.26 12.37 0.75 87% 79% Suspend [runnable] thread
|
1162 |
|
|
2.17 1.95 7.16 0.42 95% 95% Yield [only low prio] thread
|
1163 |
|
|
2.39 1.95 6.51 0.51 95% 58% Suspend [runnable->not runnable]
|
1164 |
|
|
13.43 12.37 22.79 0.80 91% 91% Kill [runnable] thread
|
1165 |
|
|
22.30 20.83 37.76 1.76 91% 91% Resume [high priority] thread
|
1166 |
|
|
4.62 4.56 11.07 0.13 98% 98% Thread switch
|
1167 |
|
|
|
1168 |
|
|
1.51 1.30 2.60 0.29 68% 68% Scheduler lock
|
1169 |
|
|
2.36 1.95 3.26 0.31 61% 37% Scheduler unlock [0 threads]
|
1170 |
|
|
2.39 1.95 5.21 0.32 62% 36% Scheduler unlock [1 suspended]
|
1171 |
|
|
2.38 1.95 4.56 0.32 61% 37% Scheduler unlock [many suspended]
|
1172 |
|
|
2.38 1.95 5.21 0.32 61% 37% Scheduler unlock [many low prio]
|
1173 |
|
|
|
1174 |
|
|
0.90 0.65 3.26 0.35 71% 71% Init mutex
|
1175 |
|
|
2.48 1.95 8.46 0.50 50% 46% Lock [unlocked] mutex
|
1176 |
|
|
2.83 2.60 9.11 0.42 93% 93% Unlock [locked] mutex
|
1177 |
|
|
2.30 1.95 6.51 0.45 96% 65% Trylock [unlocked] mutex
|
1178 |
|
|
1.99 1.30 5.86 0.24 84% 12% Trylock [locked] mutex
|
1179 |
|
|
0.04 0.00 1.30 0.08 96% 96% Destroy mutex
|
1180 |
|
|
42.40 42.32 44.92 0.16 96% 96% Unlock/Lock mutex
|
1181 |
|
|
|
1182 |
|
|
1.44 1.30 5.86 0.28 96% 96% Create mbox
|
1183 |
|
|
0.51 0.00 1.30 0.25 71% 25% Peek [empty] mbox
|
1184 |
|
|
2.93 2.60 9.11 0.51 96% 78% Put [first] mbox
|
1185 |
|
|
0.51 0.00 1.30 0.25 71% 25% Peek [1 msg] mbox
|
1186 |
|
|
4.19 3.91 5.21 0.34 59% 59% Put [second] mbox
|
1187 |
|
|
0.45 0.00 0.65 0.28 68% 31% Peek [2 msgs] mbox
|
1188 |
|
|
3.28 2.60 10.42 0.45 65% 31% Get [first] mbox
|
1189 |
|
|
3.34 2.60 9.77 0.40 78% 18% Get [second] mbox
|
1190 |
|
|
2.69 1.95 9.11 0.40 78% 18% Tryput [first] mbox
|
1191 |
|
|
2.75 1.95 7.81 0.32 93% 3% Peek item [non-empty] mbox
|
1192 |
|
|
3.15 2.60 9.11 0.48 53% 43% Tryget [non-empty] mbox
|
1193 |
|
|
2.22 1.95 6.51 0.41 96% 78% Peek item [empty] mbox
|
1194 |
|
|
2.40 1.95 5.86 0.42 50% 46% Tryget [empty] mbox
|
1195 |
|
|
0.47 0.00 0.65 0.26 71% 28% Waiting to get mbox
|
1196 |
|
|
0.59 0.00 1.30 0.15 84% 12% Waiting to put mbox
|
1197 |
|
|
4.01 3.26 10.42 0.40 81% 15% Delete mbox
|
1198 |
|
|
26.18 26.04 30.60 0.28 96% 96% Put/Get mbox
|
1199 |
|
|
|
1200 |
|
|
0.92 0.65 3.91 0.38 71% 71% Init semaphore
|
1201 |
|
|
2.24 1.95 6.51 0.43 96% 75% Post [0] semaphore
|
1202 |
|
|
2.32 1.95 7.16 0.48 96% 65% Wait [1] semaphore
|
1203 |
|
|
2.03 1.30 5.86 0.24 90% 6% Trywait [0] semaphore
|
1204 |
|
|
1.91 1.30 4.56 0.23 78% 18% Trywait [1] semaphore
|
1205 |
|
|
0.77 0.00 1.95 0.30 65% 9% Peek semaphore
|
1206 |
|
|
0.61 0.00 1.95 0.15 84% 12% Destroy semaphore
|
1207 |
|
|
22.62 22.14 30.60 0.61 96% 62% Post/Wait semaphore
|
1208 |
|
|
|
1209 |
|
|
0.92 0.65 3.91 0.38 71% 71% Create counter
|
1210 |
|
|
0.69 0.65 1.95 0.08 96% 96% Get counter value
|
1211 |
|
|
0.41 0.00 1.30 0.33 56% 40% Set counter value
|
1212 |
|
|
3.21 2.60 5.86 0.27 71% 21% Tick counter
|
1213 |
|
|
0.65 0.00 3.26 0.16 84% 12% Delete counter
|
1214 |
|
|
|
1215 |
|
|
1.57 1.30 4.56 0.38 71% 71% Create alarm
|
1216 |
|
|
4.52 3.91 13.02 0.57 50% 46% Initialize alarm
|
1217 |
|
|
0.61 0.00 1.95 0.15 84% 12% Disable alarm
|
1218 |
|
|
4.43 3.91 9.11 0.43 56% 40% Enable alarm
|
1219 |
|
|
0.87 0.65 2.60 0.32 71% 71% Delete alarm
|
1220 |
|
|
2.93 2.60 6.51 0.43 96% 65% Tick counter [1 alarm]
|
1221 |
|
|
14.83 14.32 22.79 0.60 96% 59% Tick counter [many alarms]
|
1222 |
|
|
4.88 4.56 11.07 0.51 96% 78% Tick & fire counter [1 alarm]
|
1223 |
|
|
83.25 82.03 102.86 1.23 96% 93% Tick & fire counters [>1 together]
|
1224 |
|
|
17.58 16.93 27.34 0.61 50% 46% Tick & fire counters [>1 separately]
|
1225 |
|
|
26.18 24.74 40.36 0.30 97% 0% Alarm latency [0 threads]
|
1226 |
|
|
33.88 29.30 56.64 1.70 85% 6% Alarm latency [2 threads]
|
1227 |
|
|
36.37 29.30 61.20 3.25 53% 24% Alarm latency [many threads]
|
1228 |
|
|
|
1229 |
|
|
7.85 6.51 14.97 0.00 Clock/interrupt latency
|
1230 |
|
|
|
1231 |
|
|
Timing complete - 23540 ms total
|
1232 |
|
|
|
1233 |
|
|
PASS:<Basic timing OK>
|
1234 |
|
|
EXIT:<done>
|
1235 |
|
|
|
1236 |
|
|
|
1237 |
|
|
|
1238 |
|
|
|
1239 |
|
|
|
1240 |
|
|
|
1241 |
|
|
|
1242 |
|
|
Board: Toshiba REF 4955
|
1243 |
|
|
|
1244 |
|
|
|
1245 |
|
|
Board: Toshiba REF 4955
|
1246 |
|
|
|
1247 |
|
|
CPU : Toshiba TX4955 66MHz
|
1248 |
|
|
|
1249 |
|
|
Startup, main stack : stack used 960 size 2936
|
1250 |
|
|
Startup : Interrupt stack used 168 size 4096
|
1251 |
|
|
Startup : Idlethread stack used 372 size 2048
|
1252 |
|
|
|
1253 |
|
|
eCos Kernel Timings
|
1254 |
|
|
Notes: all times are in microseconds (.000001) unless otherwise stated
|
1255 |
|
|
|
1256 |
|
|
Reading the hardware clock takes 3 `ticks' overhead
|
1257 |
|
|
... this value will be factored out of all other measurements
|
1258 |
|
|
Clock interrupt took 4.00 microseconds (264 raw clock ticks)
|
1259 |
|
|
|
1260 |
|
|
Testing parameters:
|
1261 |
|
|
Clock samples: 32
|
1262 |
|
|
Threads: 64
|
1263 |
|
|
Thread switches: 128
|
1264 |
|
|
Mutexes: 32
|
1265 |
|
|
Mailboxes: 32
|
1266 |
|
|
Semaphores: 32
|
1267 |
|
|
Scheduler operations: 128
|
1268 |
|
|
Counters: 32
|
1269 |
|
|
Alarms: 32
|
1270 |
|
|
|
1271 |
|
|
|
1272 |
|
|
Confidence
|
1273 |
|
|
Ave Min Max Var Ave Min Function
|
1274 |
|
|
====== ====== ====== ====== ========== ========
|
1275 |
|
|
11.21 9.58 14.11 0.95 48% 34% Create thread
|
1276 |
|
|
0.66 0.65 1.29 0.02 98% 98% Yield thread [all suspended]
|
1277 |
|
|
0.63 0.53 3.06 0.17 82% 82% Suspend [suspended] thread
|
1278 |
|
|
0.54 0.53 1.06 0.02 98% 98% Resume thread
|
1279 |
|
|
0.78 0.74 1.39 0.05 93% 93% Set priority
|
1280 |
|
|
0.05 0.05 0.36 0.01 98% 98% Get priority
|
1281 |
|
|
2.06 1.89 6.65 0.25 95% 79% Kill [suspended] thread
|
1282 |
|
|
0.65 0.65 0.68 0.00 98% 98% Yield [no other] thread
|
1283 |
|
|
1.15 1.02 3.03 0.20 81% 81% Resume [suspended low prio] thread
|
1284 |
|
|
0.54 0.52 1.18 0.03 96% 96% Resume [runnable low prio] thread
|
1285 |
|
|
0.94 0.88 1.27 0.01 95% 1% Suspend [runnable] thread
|
1286 |
|
|
0.65 0.65 0.68 0.00 98% 98% Yield [only low prio] thread
|
1287 |
|
|
0.54 0.53 0.86 0.01 98% 96% Suspend [runnable->not runnable]
|
1288 |
|
|
1.97 1.89 2.98 0.12 84% 84% Kill [runnable] thread
|
1289 |
|
|
1.03 0.92 4.94 0.17 89% 89% Destroy [dead] thread
|
1290 |
|
|
2.55 2.33 4.38 0.24 89% 70% Destroy [runnable] thread
|
1291 |
|
|
5.62 4.11 13.23 0.99 65% 40% Resume [high priority] thread
|
1292 |
|
|
1.84 1.83 2.79 0.02 98% 98% Thread switch
|
1293 |
|
|
|
1294 |
|
|
0.12 0.02 0.65 0.15 74% 74% Scheduler lock
|
1295 |
|
|
0.35 0.35 0.35 0.00 100% 100% Scheduler unlock [0 threads]
|
1296 |
|
|
0.35 0.35 0.35 0.00 100% 100% Scheduler unlock [1 suspended]
|
1297 |
|
|
0.43 0.35 1.17 0.13 78% 78% Scheduler unlock [many suspended]
|
1298 |
|
|
0.45 0.35 1.17 0.15 75% 75% Scheduler unlock [many low prio]
|
1299 |
|
|
|
1300 |
|
|
0.46 0.15 3.38 0.30 62% 50% Init mutex
|
1301 |
|
|
0.73 0.64 3.27 0.16 96% 96% Lock [unlocked] mutex
|
1302 |
|
|
0.77 0.65 4.50 0.23 96% 96% Unlock [locked] mutex
|
1303 |
|
|
0.58 0.55 1.42 0.05 96% 96% Trylock [unlocked] mutex
|
1304 |
|
|
0.51 0.50 0.83 0.02 96% 96% Trylock [locked] mutex
|
1305 |
|
|
0.12 0.11 0.41 0.02 96% 96% Destroy mutex
|
1306 |
|
|
4.72 4.70 5.58 0.05 96% 96% Unlock/Lock mutex
|
1307 |
|
|
|
1308 |
|
|
1.01 0.67 3.48 0.40 71% 71% Create mbox
|
1309 |
|
|
0.02 0.00 0.53 0.03 96% 96% Peek [empty] mbox
|
1310 |
|
|
0.89 0.68 4.20 0.29 96% 71% Put [first] mbox
|
1311 |
|
|
0.02 0.00 0.33 0.02 96% 96% Peek [1 msg] mbox
|
1312 |
|
|
0.69 0.68 0.76 0.01 50% 46% Put [second] mbox
|
1313 |
|
|
0.02 0.00 0.30 0.02 96% 96% Peek [2 msgs] mbox
|
1314 |
|
|
0.81 0.71 3.83 0.19 96% 96% Get [first] mbox
|
1315 |
|
|
0.72 0.71 1.02 0.02 96% 96% Get [second] mbox
|
1316 |
|
|
0.81 0.65 2.74 0.22 96% 71% Tryput [first] mbox
|
1317 |
|
|
0.67 0.62 2.27 0.10 96% 96% Peek item [non-empty] mbox
|
1318 |
|
|
0.77 0.71 2.41 0.10 96% 96% Tryget [non-empty] mbox
|
1319 |
|
|
0.59 0.58 0.88 0.02 96% 96% Peek item [empty] mbox
|
1320 |
|
|
0.62 0.62 0.67 0.00 96% 96% Tryget [empty] mbox
|
1321 |
|
|
0.03 0.02 0.32 0.02 96% 96% Waiting to get mbox
|
1322 |
|
|
0.02 0.02 0.06 0.01 50% 46% Waiting to put mbox
|
1323 |
|
|
0.75 0.65 3.59 0.18 96% 96% Delete mbox
|
1324 |
|
|
2.80 2.77 3.59 0.05 96% 96% Put/Get mbox
|
1325 |
|
|
|
1326 |
|
|
0.37 0.18 0.88 0.28 71% 71% Init semaphore
|
1327 |
|
|
0.48 0.47 0.80 0.02 96% 96% Post [0] semaphore
|
1328 |
|
|
0.60 0.59 0.67 0.01 50% 46% Wait [1] semaphore
|
1329 |
|
|
0.53 0.50 1.41 0.06 96% 96% Trywait [0] semaphore
|
1330 |
|
|
0.51 0.50 0.71 0.01 96% 50% Trywait [1] semaphore
|
1331 |
|
|
0.09 0.09 0.15 0.00 96% 96% Peek semaphore
|
1332 |
|
|
0.12 0.11 0.41 0.02 96% 96% Destroy semaphore
|
1333 |
|
|
3.05 3.05 3.05 0.00 100% 100% Post/Wait semaphore
|
1334 |
|
|
|
1335 |
|
|
0.57 0.17 2.76 0.24 59% 25% Create counter
|
1336 |
|
|
0.06 0.05 0.58 0.03 96% 96% Get counter value
|
1337 |
|
|
0.06 0.03 0.64 0.04 96% 96% Set counter value
|
1338 |
|
|
0.73 0.71 1.02 0.02 96% 96% Tick counter
|
1339 |
|
|
0.12 0.11 0.15 0.01 50% 46% Delete counter
|
1340 |
|
|
|
1341 |
|
|
0.89 0.64 3.15 0.34 84% 71% Create alarm
|
1342 |
|
|
1.00 0.95 2.41 0.09 96% 96% Initialize alarm
|
1343 |
|
|
0.09 0.06 0.68 0.04 96% 96% Disable alarm
|
1344 |
|
|
1.05 1.00 2.48 0.09 96% 96% Enable alarm
|
1345 |
|
|
0.18 0.17 0.50 0.02 96% 96% Delete alarm
|
1346 |
|
|
0.90 0.89 1.11 0.01 96% 96% Tick counter [1 alarm]
|
1347 |
|
|
5.60 5.59 5.88 0.02 96% 96% Tick counter [many alarms]
|
1348 |
|
|
1.53 1.52 2.11 0.04 96% 96% Tick & fire counter [1 alarm]
|
1349 |
|
|
25.48 25.47 25.76 0.02 96% 96% Tick & fire counters [>1 together]
|
1350 |
|
|
6.22 6.21 6.44 0.01 96% 96% Tick & fire counters [>1 separately]
|
1351 |
|
|
2.59 2.56 6.17 0.07 98% 98% Alarm latency [0 threads]
|
1352 |
|
|
4.06 3.95 6.24 0.08 78% 57% Alarm latency [2 threads]
|
1353 |
|
|
5.03 2.56 9.03 0.89 59% 10% Alarm latency [many threads]
|
1354 |
|
|
5.68 5.59 15.45 0.15 99% 99% Alarm -> thread resume latency
|
1355 |
|
|
|
1356 |
|
|
2.52 1.41 8.12 0.00 Clock/interrupt latency
|
1357 |
|
|
|
1358 |
|
|
2.05 1.17 6.00 0.00 Clock DSR latency
|
1359 |
|
|
|
1360 |
|
|
34 0 1072 (main stack: 1320) Thread stack used (1912 total)
|
1361 |
|
|
All done, main stack : stack used 1320 size 2936
|
1362 |
|
|
All done : Interrupt stack used 136 size 4096
|
1363 |
|
|
All done : Idlethread stack used 996 size 2048
|
1364 |
|
|
|
1365 |
|
|
Timing complete - 30360 ms total
|
1366 |
|
|
|
1367 |
|
|
PASS:<Basic timing OK>
|
1368 |
|
|
EXIT:<done>
|
1369 |
|
|
|
1370 |
|
|
|
1371 |
|
|
|
1372 |
|
|
|
1373 |
|
|
|
1374 |
|
|
|
1375 |
|
|
|
1376 |
|
|
Board: Matsushita STDEVAL1 Board
|
1377 |
|
|
|
1378 |
|
|
|
1379 |
|
|
Board: Matsushita STDEVAL1 Board
|
1380 |
|
|
|
1381 |
|
|
CPU : MN103002A 60MHz
|
1382 |
|
|
|
1383 |
|
|
eCOS Kernel Timings
|
1384 |
|
|
Note: all times are in microseconds (.000001) unless otherwise stated
|
1385 |
|
|
|
1386 |
|
|
Reading the hardware clock takes 18 'ticks' overhead
|
1387 |
|
|
... this value will be factored out of all other measurements
|
1388 |
|
|
Clock interrupt took 13.73 microseconds (205 raw clock ticks)
|
1389 |
|
|
|
1390 |
|
|
Testing parameters:
|
1391 |
|
|
Clock samples: 32
|
1392 |
|
|
Threads: 24
|
1393 |
|
|
Thread switches: 128
|
1394 |
|
|
Mutexes: 32
|
1395 |
|
|
Mailboxes: 32
|
1396 |
|
|
Semaphores: 32
|
1397 |
|
|
Scheduler operations: 128
|
1398 |
|
|
Counters: 32
|
1399 |
|
|
Alarms: 32
|
1400 |
|
|
|
1401 |
|
|
|
1402 |
|
|
Confidence
|
1403 |
|
|
Ave Min Max Var Ave Min Function
|
1404 |
|
|
====== ====== ====== ====== ========== ========
|
1405 |
|
|
14.36 11.53 23.53 1.81 54% 33% Create thread
|
1406 |
|
|
2.64 2.53 5.07 0.20 95% 95% Yield thread [all suspended]
|
1407 |
|
|
2.25 1.93 4.80 0.31 45% 83% Suspend [suspended] thread
|
1408 |
|
|
2.19 2.00 4.93 0.28 91% 91% Resume thread
|
1409 |
|
|
3.42 3.00 8.40 0.47 95% 87% Set priority
|
1410 |
|
|
0.31 0.13 1.20 0.19 79% 58% Get priority
|
1411 |
|
|
8.26 7.40 18.80 0.93 95% 87% Kill [suspended] thread
|
1412 |
|
|
2.58 2.47 5.13 0.21 95% 95% Yield [no other] thread
|
1413 |
|
|
5.07 4.53 8.67 0.44 62% 50% Resume [suspended low prio] thread
|
1414 |
|
|
2.27 2.07 4.53 0.23 87% 87% Resume [runnable low prio] thread
|
1415 |
|
|
4.76 4.07 9.40 0.65 66% 75% Suspend [runnable] thread
|
1416 |
|
|
2.63 2.53 4.73 0.18 95% 95% Yield [only low prio] thread
|
1417 |
|
|
2.09 1.87 4.27 0.27 91% 79% Suspend [runnable->not runnable]
|
1418 |
|
|
10.79 10.00 18.20 0.81 95% 79% Kill [runnable] thread
|
1419 |
|
|
20.30 18.40 28.80 1.42 79% 54% Resume [high priority] thread
|
1420 |
|
|
5.53 5.47 12.13 0.11 98% 97% Thread switch
|
1421 |
|
|
|
1422 |
|
|
0.28 0.27 2.20 0.03 97% 97% Scheduler lock
|
1423 |
|
|
1.14 1.13 2.00 0.01 99% 99% Scheduler unlock [0 threads]
|
1424 |
|
|
1.14 1.13 2.40 0.02 99% 99% Scheduler unlock [1 suspended]
|
1425 |
|
|
1.16 1.13 3.33 0.06 95% 95% Scheduler unlock [many suspended]
|
1426 |
|
|
1.23 1.20 3.13 0.05 95% 95% Scheduler unlock [many low prio]
|
1427 |
|
|
|
1428 |
|
|
1.29 1.00 4.20 0.25 65% 50% Init mutex
|
1429 |
|
|
2.65 2.47 5.27 0.23 93% 87% Lock [unlocked] mutex
|
1430 |
|
|
3.26 3.07 6.80 0.28 93% 87% Unlock [locked] mutex
|
1431 |
|
|
2.48 2.33 5.07 0.21 90% 87% Trylock [unlocked] mutex
|
1432 |
|
|
2.20 2.07 4.67 0.21 93% 87% Trylock [locked] mutex
|
1433 |
|
|
0.23 0.20 1.00 0.05 96% 93% Destroy mutex
|
1434 |
|
|
25.11 24.73 27.53 0.21 65% 31% Unlock/Lock mutex
|
1435 |
|
|
|
1436 |
|
|
2.49 2.00 5.73 0.32 81% 37% Create mbox
|
1437 |
|
|
0.11 0.00 1.60 0.15 84% 81% Peek [empty] mbox
|
1438 |
|
|
3.01 2.60 9.47 0.52 96% 78% Put [first] mbox
|
1439 |
|
|
0.10 0.00 1.67 0.15 87% 81% Peek [1 msg] mbox
|
1440 |
|
|
3.09 2.60 8.33 0.50 93% 75% Put [second] mbox
|
1441 |
|
|
0.06 0.00 1.13 0.08 96% 87% Peek [2 msgs] mbox
|
1442 |
|
|
3.10 2.80 7.93 0.40 93% 84% Get [first] mbox
|
1443 |
|
|
3.13 2.80 7.53 0.43 90% 78% Get [second] mbox
|
1444 |
|
|
2.99 2.60 8.53 0.52 93% 75% Tryput [first] mbox
|
1445 |
|
|
2.65 2.33 6.80 0.42 90% 78% Peek item [non-empty] mbox
|
1446 |
|
|
3.05 2.73 7.60 0.42 93% 78% Tryget [non-empty] mbox
|
1447 |
|
|
3.16 2.93 6.27 0.31 84% 84% Peek item [empty] mbox
|
1448 |
|
|
2.48 2.27 5.73 0.30 84% 84% Tryget [empty] mbox
|
1449 |
|
|
0.23 0.13 2.07 0.14 96% 87% Waiting to get mbox
|
1450 |
|
|
0.22 0.13 1.93 0.13 96% 75% Waiting to put mbox
|
1451 |
|
|
3.08 2.80 7.93 0.42 84% 84% Delete mbox
|
1452 |
|
|
16.01 15.53 19.00 0.52 78% 59% Put/Get mbox
|
1453 |
|
|
|
1454 |
|
|
0.85 0.67 3.27 0.19 96% 50% Init semaphore
|
1455 |
|
|
2.00 1.93 3.87 0.12 96% 90% Post [0] semaphore
|
1456 |
|
|
2.05 2.00 3.47 0.09 96% 96% Wait [1] semaphore
|
1457 |
|
|
1.85 1.80 3.47 0.10 96% 96% Trywait [0] semaphore
|
1458 |
|
|
1.82 1.80 2.53 0.04 96% 96% Trywait [1] semaphore
|
1459 |
|
|
0.36 0.33 1.33 0.06 96% 96% Peek semaphore
|
1460 |
|
|
0.38 0.33 1.87 0.09 96% 96% Destroy semaphore
|
1461 |
|
|
12.38 12.20 16.27 0.30 93% 87% Post/Wait semaphore
|
1462 |
|
|
|
1463 |
|
|
1.18 0.73 4.07 0.24 78% 18% Create counter
|
1464 |
|
|
0.20 0.13 1.40 0.11 87% 87% Get counter value
|
1465 |
|
|
0.24 0.20 1.40 0.08 93% 93% Set counter value
|
1466 |
|
|
3.17 3.13 4.20 0.07 93% 93% Tick counter
|
1467 |
|
|
0.44 0.40 1.73 0.08 96% 96% Delete counter
|
1468 |
|
|
|
1469 |
|
|
2.24 1.67 5.13 0.47 68% 65% Create alarm
|
1470 |
|
|
3.86 3.40 9.67 0.51 90% 78% Initialize alarm
|
1471 |
|
|
0.15 0.07 1.60 0.12 96% 68% Disable alarm
|
1472 |
|
|
3.76 3.47 7.67 0.35 93% 75% Enable alarm
|
1473 |
|
|
0.57 0.47 2.73 0.16 96% 84% Delete alarm
|
1474 |
|
|
3.64 3.60 4.73 0.07 96% 96% Tick counter [1 alarm]
|
1475 |
|
|
21.72 21.67 23.27 0.10 96% 96% Tick counter [many alarms]
|
1476 |
|
|
6.13 6.07 8.07 0.12 96% 96% Tick & fire counter [1 alarm]
|
1477 |
|
|
101.40 99.53 132.73 2.75 93% 93% Tick & fire counters [>1 together]
|
1478 |
|
|
24.21 24.13 26.40 0.14 96% 96% Tick & fire counters [>1 separately]
|
1479 |
|
|
11.74 11.60 22.67 0.26 98% 98% Alarm latency [0 threads]
|
1480 |
|
|
14.58 11.73 24.93 1.59 54% 28% Alarm latency [2 threads]
|
1481 |
|
|
18.18 15.20 41.07 1.96 60% 43% Alarm latency [many threads]
|
1482 |
|
|
|
1483 |
|
|
3.06 2.13 10.33 0.00 Clock/interrupt latency
|
1484 |
|
|
|
1485 |
|
|
Timing complete - 23480 ms total
|
1486 |
|
|
|
1487 |
|
|
PASS:<Basic timing OK>
|
1488 |
|
|
EXIT:<done>
|
1489 |
|
|
|
1490 |
|
|
|
1491 |
|
|
|
1492 |
|
|
|
1493 |
|
|
|
1494 |
|
|
|
1495 |
|
|
|
1496 |
|
|
Board: Fujitsu SPARClite Evaluation Board
|
1497 |
|
|
|
1498 |
|
|
|
1499 |
|
|
Board: Fujitsu SPARClite Evaluation Board
|
1500 |
|
|
|
1501 |
|
|
CPU : Fujitsu SPARClite MB8683X 100MHz
|
1502 |
|
|
|
1503 |
|
|
|
1504 |
|
|
eCOS Kernel Timings
|
1505 |
|
|
Note: all times are in microseconds (.000001) unless otherwise stated
|
1506 |
|
|
|
1507 |
|
|
Reading the hardware clock takes 0 'ticks' overhead
|
1508 |
|
|
... this value will be factored out of all other measurements
|
1509 |
|
|
Clock interrupt took 17.19 microseconds (17 raw clock ticks)
|
1510 |
|
|
|
1511 |
|
|
Testing parameters:
|
1512 |
|
|
Clock samples: 32
|
1513 |
|
|
Threads: 24
|
1514 |
|
|
Thread switches: 128
|
1515 |
|
|
Mutexes: 32
|
1516 |
|
|
Mailboxes: 32
|
1517 |
|
|
Semaphores: 32
|
1518 |
|
|
Scheduler operations: 128
|
1519 |
|
|
Counters: 32
|
1520 |
|
|
Alarms: 32
|
1521 |
|
|
|
1522 |
|
|
|
1523 |
|
|
Confidence
|
1524 |
|
|
Ave Min Max Var Ave Min Function
|
1525 |
|
|
====== ====== ====== ====== ========== ========
|
1526 |
|
|
48.59 47.00 63.01 1.41 66% 70% Create thread
|
1527 |
|
|
2.13 2.00 5.00 0.24 95% 95% Yield thread [all suspended]
|
1528 |
|
|
2.92 2.00 10.00 0.69 58% 37% Suspend [suspended] thread
|
1529 |
|
|
2.13 1.00 10.00 0.66 75% 20% Resume thread
|
1530 |
|
|
2.79 2.00 11.00 0.86 95% 54% Set priority
|
1531 |
|
|
1.00 0.00 5.00 0.33 79% 16% Get priority
|
1532 |
|
|
7.17 5.00 34.00 2.24 95% 95% Kill [suspended] thread
|
1533 |
|
|
2.42 2.00 12.00 0.80 95% 95% Yield [no other] thread
|
1534 |
|
|
3.46 2.00 14.00 1.10 75% 83% Resume [suspended low prio] thread
|
1535 |
|
|
2.00 1.00 9.00 0.58 66% 29% Resume [runnable low prio] thread
|
1536 |
|
|
4.21 3.00 20.00 1.38 95% 91% Suspend [runnable] thread
|
1537 |
|
|
2.33 2.00 10.00 0.64 95% 95% Yield [only low prio] thread
|
1538 |
|
|
2.00 1.00 9.00 0.67 58% 33% Suspend [runnable->not runnable]
|
1539 |
|
|
5.79 4.00 30.00 2.07 95% 95% Kill [runnable] thread
|
1540 |
|
|
39.34 37.00 75.01 3.36 91% 91% Resume [high priority] thread
|
1541 |
|
|
15.20 15.00 31.00 0.40 97% 97% Thread switch
|
1542 |
|
|
|
1543 |
|
|
1.04 1.00 4.00 0.08 97% 97% Scheduler lock
|
1544 |
|
|
1.42 1.00 5.00 0.51 60% 60% Scheduler unlock [0 threads]
|
1545 |
|
|
1.41 1.00 5.00 0.50 61% 61% Scheduler unlock [1 suspended]
|
1546 |
|
|
1.41 1.00 5.00 0.50 60% 60% Scheduler unlock [many suspended]
|
1547 |
|
|
1.40 1.00 5.00 0.50 62% 62% Scheduler unlock [many low prio]
|
1548 |
|
|
|
1549 |
|
|
1.19 1.00 6.00 0.35 93% 93% Init mutex
|
1550 |
|
|
2.34 2.00 12.00 0.64 93% 93% Lock [unlocked] mutex
|
1551 |
|
|
3.41 3.00 13.00 0.71 96% 87% Unlock [locked] mutex
|
1552 |
|
|
2.16 1.00 10.00 0.49 87% 9% Trylock [unlocked] mutex
|
1553 |
|
|
1.78 1.00 7.00 0.59 59% 37% Trylock [locked] mutex
|
1554 |
|
|
0.72 0.00 2.00 0.45 65% 31% Destroy mutex
|
1555 |
|
|
25.25 24.00 41.00 0.98 71% 25% Unlock/Lock mutex
|
1556 |
|
|
|
1557 |
|
|
1.44 1.00 9.00 0.68 96% 78% Create mbox
|
1558 |
|
|
0.94 0.00 3.00 0.23 84% 12% Peek [empty] mbox
|
1559 |
|
|
3.06 2.00 13.00 0.62 71% 25% Put [first] mbox
|
1560 |
|
|
0.69 0.00 3.00 0.52 59% 37% Peek [1 msg] mbox
|
1561 |
|
|
2.44 2.00 10.00 0.68 96% 78% Put [second] mbox
|
1562 |
|
|
0.78 0.00 3.00 0.44 68% 28% Peek [2 msgs] mbox
|
1563 |
|
|
3.78 3.00 14.00 0.83 96% 53% Get [first] mbox
|
1564 |
|
|
2.97 2.00 9.00 0.61 56% 31% Get [second] mbox
|
1565 |
|
|
2.53 2.00 12.00 0.80 96% 75% Tryput [first] mbox
|
1566 |
|
|
2.72 2.00 12.00 0.81 96% 56% Peek item [non-empty] mbox
|
1567 |
|
|
2.63 2.00 13.00 0.94 90% 75% Tryget [non-empty] mbox
|
1568 |
|
|
1.97 1.00 6.00 0.42 68% 21% Peek item [empty] mbox
|
1569 |
|
|
2.09 1.00 9.00 0.49 78% 15% Tryget [empty] mbox
|
1570 |
|
|
0.84 0.00 4.00 0.42 71% 25% Waiting to get mbox
|
1571 |
|
|
0.81 0.00 4.00 0.46 68% 28% Waiting to put mbox
|
1572 |
|
|
2.38 2.00 11.00 0.66 96% 87% Delete mbox
|
1573 |
|
|
23.41 22.00 47.00 1.47 96% 96% Put/Get mbox
|
1574 |
|
|
|
1575 |
|
|
1.03 0.00 6.00 0.31 84% 12% Init semaphore
|
1576 |
|
|
2.66 2.00 8.00 0.66 96% 50% Post [0] semaphore
|
1577 |
|
|
1.97 1.00 10.00 0.55 68% 28% Wait [1] semaphore
|
1578 |
|
|
1.78 1.00 8.00 0.63 56% 40% Trywait [0] semaphore
|
1579 |
|
|
1.84 1.00 8.00 0.58 62% 34% Trywait [1] semaphore
|
1580 |
|
|
1.00 0.00 5.00 0.25 84% 12% Peek semaphore
|
1581 |
|
|
0.81 0.00 4.00 0.46 68% 28% Destroy semaphore
|
1582 |
|
|
19.03 18.00 41.00 1.37 96% 96% Post/Wait semaphore
|
1583 |
|
|
|
1584 |
|
|
1.38 1.00 6.00 0.56 75% 75% Create counter
|
1585 |
|
|
1.09 1.00 3.00 0.18 93% 93% Get counter value
|
1586 |
|
|
1.00 0.00 5.00 0.31 78% 15% Set counter value
|
1587 |
|
|
3.09 2.00 6.00 0.35 78% 9% Tick counter
|
1588 |
|
|
0.91 0.00 5.00 0.40 75% 21% Delete counter
|
1589 |
|
|
|
1590 |
|
|
2.53 2.00 9.00 0.70 96% 65% Create alarm
|
1591 |
|
|
6.03 5.00 22.00 1.00 50% 46% Initialize alarm
|
1592 |
|
|
0.78 0.00 4.00 0.49 65% 31% Disable alarm
|
1593 |
|
|
2.91 2.00 13.00 0.91 87% 50% Enable alarm
|
1594 |
|
|
0.97 0.00 5.00 0.30 81% 15% Delete alarm
|
1595 |
|
|
2.69 2.00 9.00 0.69 96% 50% Tick counter [1 alarm]
|
1596 |
|
|
12.00 11.00 23.00 0.69 62% 34% Tick counter [many alarms]
|
1597 |
|
|
4.16 3.00 13.00 0.55 84% 12% Tick & fire counter [1 alarm]
|
1598 |
|
|
72.69 72.01 87.01 1.03 96% 96% Tick & fire counters [>1 together]
|
1599 |
|
|
13.66 13.00 23.00 0.82 96% 62% Tick & fire counters [>1 separately]
|
1600 |
|
|
13.26 13.00 42.00 0.51 98% 98% Alarm latency [0 threads]
|
1601 |
|
|
16.75 11.00 53.01 2.78 64% 16% Alarm latency [2 threads]
|
1602 |
|
|
24.06 18.00 58.01 3.55 67% 25% Alarm latency [many threads]
|
1603 |
|
|
|
1604 |
|
|
3.61 2.00 13.00 0.00 Clock/interrupt latency
|
1605 |
|
|
|
1606 |
|
|
Timing complete - 23590 ms total
|
1607 |
|
|
|
1608 |
|
|
PASS:<Basic timing OK>
|
1609 |
|
|
EXIT:<done>
|
1610 |
|
|
|
1611 |
|
|
|
1612 |
|
|
|
1613 |
|
|
|
1614 |
|
|
|
1615 |
|
|
|
1616 |
|
|
|
1617 |
|
|
Board: Cogent CMA MPC860 (PowerPC) Evaluation
|
1618 |
|
|
Board: Cogent CMA MPC860 (PowerPC) Evaluation
|
1619 |
|
|
CPU : MPC860, revision A3 33MHz
|
1620 |
|
|
|
1621 |
|
|
|
1622 |
|
|
eCOS Kernel Timings
|
1623 |
|
|
Note: all times are in microseconds (.000001) unless otherwise stated
|
1624 |
|
|
|
1625 |
|
|
Reading the hardware clock takes 0 'ticks' overhead
|
1626 |
|
|
... this value will be factored out of all other measurements
|
1627 |
|
|
Clock interrupt took 14.46 microseconds (30 raw clock ticks)
|
1628 |
|
|
|
1629 |
|
|
Testing parameters:
|
1630 |
|
|
Clock samples: 32
|
1631 |
|
|
Threads: 24
|
1632 |
|
|
Thread switches: 128
|
1633 |
|
|
Mutexes: 32
|
1634 |
|
|
Mailboxes: 32
|
1635 |
|
|
Semaphores: 32
|
1636 |
|
|
Scheduler operations: 128
|
1637 |
|
|
Counters: 32
|
1638 |
|
|
Alarms: 32
|
1639 |
|
|
|
1640 |
|
|
|
1641 |
|
|
|
1642 |
|
|
|
1643 |
|
|
|
1644 |
|
|
Confidence
|
1645 |
|
|
Ave Min Max Var Ave Min Function
|
1646 |
|
|
====== ====== ====== ====== ========== ========
|
1647 |
|
|
26.78 23.52 41.76 1.97 66% 37% Create thread
|
1648 |
|
|
4.00 3.84 4.80 0.23 70% 70% Yield thread [all suspended]
|
1649 |
|
|
3.78 3.36 7.68 0.38 50% 45% Suspend [suspended] thread
|
1650 |
|
|
3.56 3.36 7.68 0.37 95% 91% Resume thread
|
1651 |
|
|
5.28 4.32 12.96 0.76 83% 66% Set priority
|
1652 |
|
|
0.84 0.48 3.84 0.39 91% 54% Get priority
|
1653 |
|
|
11.76 10.08 32.16 1.70 95% 95% Kill [suspended] thread
|
1654 |
|
|
4.14 3.84 8.64 0.45 95% 75% Yield [no other] thread
|
1655 |
|
|
7.14 5.76 17.76 1.07 79% 70% Resume [suspended low prio] thread
|
1656 |
|
|
3.60 3.36 8.16 0.42 95% 87% Resume [runnable low prio] thread
|
1657 |
|
|
6.10 5.28 14.88 0.80 62% 70% Suspend [runnable] thread
|
1658 |
|
|
4.00 3.84 5.76 0.25 79% 79% Yield [only low prio] thread
|
1659 |
|
|
3.66 3.36 8.64 0.47 95% 79% Suspend [runnable->not runnable]
|
1660 |
|
|
11.66 10.08 30.24 1.58 79% 91% Kill [runnable] thread
|
1661 |
|
|
31.12 27.84 53.28 2.35 87% 50% Resume [high priority] thread
|
1662 |
|
|
7.52 7.20 15.84 0.30 50% 48% Thread switch
|
1663 |
|
|
|
1664 |
|
|
1.00 0.48 2.88 0.21 63% 14% Scheduler lock
|
1665 |
|
|
2.57 2.40 3.84 0.23 65% 65% Scheduler unlock [0 threads]
|
1666 |
|
|
2.58 2.40 4.32 0.23 64% 64% Scheduler unlock [1 suspended]
|
1667 |
|
|
2.59 2.40 4.32 0.24 62% 62% Scheduler unlock [many suspended]
|
1668 |
|
|
2.59 2.40 4.32 0.24 61% 61% Scheduler unlock [many low prio]
|
1669 |
|
|
|
1670 |
|
|
1.69 1.44 5.76 0.37 96% 71% Init mutex
|
1671 |
|
|
4.15 3.84 10.56 0.47 96% 75% Lock [unlocked] mutex
|
1672 |
|
|
5.82 5.28 10.56 0.38 62% 28% Unlock [locked] mutex
|
1673 |
|
|
3.70 3.36 8.64 0.41 96% 59% Trylock [unlocked] mutex
|
1674 |
|
|
3.42 2.88 6.72 0.26 75% 15% Trylock [locked] mutex
|
1675 |
|
|
0.36 0.00 1.92 0.25 62% 34% Destroy mutex
|
1676 |
|
|
43.41 42.72 45.12 0.34 81% 3% Unlock/Lock mutex
|
1677 |
|
|
|
1678 |
|
|
3.27 2.88 8.16 0.39 96% 50% Create mbox
|
1679 |
|
|
0.57 0.00 2.40 0.34 50% 21% Peek [empty] mbox
|
1680 |
|
|
6.16 5.76 11.04 0.48 87% 87% Put [first] mbox
|
1681 |
|
|
0.48 0.00 1.92 0.27 50% 28% Peek [1 msg] mbox
|
1682 |
|
|
5.92 5.28 10.56 0.35 90% 6% Put [second] mbox
|
1683 |
|
|
0.60 0.00 2.40 0.30 62% 12% Peek [2 msgs] mbox
|
1684 |
|
|
4.69 4.32 12.00 0.54 93% 93% Get [first] mbox
|
1685 |
|
|
4.68 4.32 11.52 0.52 93% 93% Get [second] mbox
|
1686 |
|
|
5.86 5.28 11.04 0.47 62% 31% Tryput [first] mbox
|
1687 |
|
|
4.00 3.36 9.12 0.38 87% 9% Peek item [non-empty] mbox
|
1688 |
|
|
4.59 3.84 12.48 0.61 71% 75% Tryget [non-empty] mbox
|
1689 |
|
|
3.75 3.36 7.68 0.34 53% 43% Peek item [empty] mbox
|
1690 |
|
|
3.93 3.36 9.60 0.45 65% 31% Tryget [empty] mbox
|
1691 |
|
|
0.63 0.00 2.40 0.28 68% 6% Waiting to get mbox
|
1692 |
|
|
0.54 0.00 1.92 0.19 75% 9% Waiting to put mbox
|
1693 |
|
|
4.84 4.32 12.00 0.47 56% 40% Delete mbox
|
1694 |
|
|
24.18 23.52 29.76 0.66 81% 75% Put/Get mbox
|
1695 |
|
|
|
1696 |
|
|
1.72 0.96 3.84 0.33 90% 6% Init semaphore
|
1697 |
|
|
3.15 2.88 6.24 0.34 96% 62% Post [0] semaphore
|
1698 |
|
|
3.85 3.36 8.64 0.30 68% 28% Wait [1] semaphore
|
1699 |
|
|
3.24 2.88 6.24 0.34 46% 46% Trywait [0] semaphore
|
1700 |
|
|
3.22 2.88 6.24 0.32 50% 46% Trywait [1] semaphore
|
1701 |
|
|
0.96 0.48 2.88 0.12 84% 12% Peek semaphore
|
1702 |
|
|
0.99 0.96 1.92 0.06 96% 96% Destroy semaphore
|
1703 |
|
|
24.71 24.00 28.80 0.40 87% 6% Post/Wait semaphore
|
1704 |
|
|
|
1705 |
|
|
2.31 1.44 6.24 0.77 46% 56% Create counter
|
1706 |
|
|
0.45 0.00 0.96 0.08 87% 9% Get counter value
|
1707 |
|
|
0.42 0.00 0.96 0.16 75% 18% Set counter value
|
1708 |
|
|
4.14 3.84 4.80 0.26 50% 43% Tick counter
|
1709 |
|
|
0.91 0.48 2.40 0.19 71% 21% Delete counter
|
1710 |
|
|
|
1711 |
|
|
5.23 4.32 7.68 0.61 65% 53% Create alarm
|
1712 |
|
|
5.58 4.80 12.96 0.72 68% 84% Initialize alarm
|
1713 |
|
|
0.75 0.48 1.92 0.30 90% 56% Disable alarm
|
1714 |
|
|
8.02 7.20 14.40 0.53 84% 68% Enable alarm
|
1715 |
|
|
1.32 0.96 3.84 0.29 56% 40% Delete alarm
|
1716 |
|
|
4.63 4.32 6.24 0.28 53% 43% Tick counter [1 alarm]
|
1717 |
|
|
23.67 23.52 25.44 0.23 78% 78% Tick counter [many alarms]
|
1718 |
|
|
7.24 6.72 10.56 0.21 84% 12% Tick & fire counter [1 alarm]
|
1719 |
|
|
106.83 106.56 110.40 0.35 96% 65% Tick & fire counters [>1 together]
|
1720 |
|
|
26.18 25.44 29.76 0.46 81% 9% Tick & fire counters [>1 separately]
|
1721 |
|
|
10.79 10.08 29.28 0.66 53% 55% Alarm latency [0 threads]
|
1722 |
|
|
17.20 13.92 35.52 1.48 67% 21% Alarm latency [2 threads]
|
1723 |
|
|
29.69 22.56 47.04 3.58 57% 17% Alarm latency [many threads]
|
1724 |
|
|
|
1725 |
|
|
7.66 3.84 19.20 0.00 Clock/interrupt latency
|
1726 |
|
|
|
1727 |
|
|
Timing complete - 23530 ms total
|
1728 |
|
|
|
1729 |
|
|
PASS:<Basic timing OK>
|
1730 |
|
|
EXIT:<done>
|
1731 |
|
|
|
1732 |
|
|
|
1733 |
|
|
|
1734 |
|
|
|
1735 |
|
|
|
1736 |
|
|
|
1737 |
|
|
|
1738 |
|
|
Board: NEC VR4373
|
1739 |
|
|
|
1740 |
|
|
|
1741 |
|
|
Board: NEC VR4373
|
1742 |
|
|
|
1743 |
|
|
CPU : NEC VR4300 133MHz
|
1744 |
|
|
|
1745 |
|
|
|
1746 |
|
|
Startup, main stack : stack used 1304 size 3576
|
1747 |
|
|
Startup : Interrupt stack used 980 size 4096
|
1748 |
|
|
Startup : Idlethread stack used 494 size 2552
|
1749 |
|
|
|
1750 |
|
|
eCos Kernel Timings
|
1751 |
|
|
Notes: all times are in microseconds (.000001) unless otherwise stated
|
1752 |
|
|
|
1753 |
|
|
Reading the hardware clock takes 3 `ticks' overhead
|
1754 |
|
|
... this value will be factored out of all other measurements
|
1755 |
|
|
Clock interrupt took 6.49 microseconds (431 raw clock ticks)
|
1756 |
|
|
|
1757 |
|
|
Testing parameters:
|
1758 |
|
|
Clock samples: 32
|
1759 |
|
|
Threads: 16
|
1760 |
|
|
Thread switches: 128
|
1761 |
|
|
Mutexes: 32
|
1762 |
|
|
Mailboxes: 32
|
1763 |
|
|
Semaphores: 32
|
1764 |
|
|
Scheduler operations: 128
|
1765 |
|
|
Counters: 32
|
1766 |
|
|
Alarms: 32
|
1767 |
|
|
|
1768 |
|
|
|
1769 |
|
|
Confidence
|
1770 |
|
|
Ave Min Max Var Ave Min Function
|
1771 |
|
|
====== ====== ====== ====== ========== ========
|
1772 |
|
|
17.21 16.18 22.14 0.88 75% 68% Create thread
|
1773 |
|
|
0.84 0.78 1.29 0.10 81% 81% Yield thread [all suspended]
|
1774 |
|
|
0.90 0.62 3.20 0.35 87% 87% Suspend [suspended] thread
|
1775 |
|
|
0.74 0.65 1.16 0.12 81% 68% Resume thread
|
1776 |
|
|
1.11 0.90 1.70 0.25 75% 68% Set priority
|
1777 |
|
|
0.11 0.05 0.35 0.09 75% 75% Get priority
|
1778 |
|
|
2.93 2.24 8.27 0.78 93% 75% Kill [suspended] thread
|
1779 |
|
|
0.88 0.78 1.92 0.16 93% 81% Yield [no other] thread
|
1780 |
|
|
1.82 1.20 4.71 0.62 87% 62% Resume [suspended low prio] thread
|
1781 |
|
|
0.70 0.63 0.86 0.09 68% 68% Resume [runnable low prio] thread
|
1782 |
|
|
1.21 1.07 1.61 0.13 81% 68% Suspend [runnable] thread
|
1783 |
|
|
0.86 0.78 1.58 0.13 81% 81% Yield [only low prio] thread
|
1784 |
|
|
0.69 0.62 0.84 0.09 68% 68% Suspend [runnable->not runnable]
|
1785 |
|
|
2.64 2.24 4.35 0.43 81% 62% Kill [runnable] thread
|
1786 |
|
|
1.50 1.07 5.82 0.56 93% 87% Destroy [dead] thread
|
1787 |
|
|
3.66 2.75 7.74 0.82 50% 56% Destroy [runnable] thread
|
1788 |
|
|
13.65 8.33 27.88 3.70 50% 43% Resume [high priority] thread
|
1789 |
|
|
2.04 1.89 3.32 0.15 46% 49% Thread switch
|
1790 |
|
|
|
1791 |
|
|
0.19 0.05 0.83 0.13 48% 44% Scheduler lock
|
1792 |
|
|
0.50 0.41 1.59 0.13 89% 73% Scheduler unlock [0 threads]
|
1793 |
|
|
0.52 0.41 1.29 0.14 89% 64% Scheduler unlock [1 suspended]
|
1794 |
|
|
0.56 0.41 1.49 0.15 42% 47% Scheduler unlock [many suspended]
|
1795 |
|
|
0.56 0.41 1.41 0.15 43% 47% Scheduler unlock [many low prio]
|
1796 |
|
|
|
1797 |
|
|
0.57 0.20 2.33 0.27 65% 50% Init mutex
|
1798 |
|
|
0.89 0.75 3.35 0.20 96% 75% Lock [unlocked] mutex
|
1799 |
|
|
0.90 0.74 4.38 0.25 96% 93% Unlock [locked] mutex
|
1800 |
|
|
0.77 0.65 2.63 0.17 96% 75% Trylock [unlocked] mutex
|
1801 |
|
|
0.66 0.59 1.16 0.10 75% 75% Trylock [locked] mutex
|
1802 |
|
|
0.07 0.00 0.45 0.09 75% 75% Destroy mutex
|
1803 |
|
|
7.95 7.71 9.49 0.19 50% 46% Unlock/Lock mutex
|
1804 |
|
|
|
1805 |
|
|
1.04 0.81 3.44 0.27 93% 68% Create mbox
|
1806 |
|
|
0.10 0.02 0.57 0.11 71% 68% Peek [empty] mbox
|
1807 |
|
|
1.15 0.83 4.71 0.31 53% 71% Put [first] mbox
|
1808 |
|
|
0.10 0.02 0.57 0.12 68% 68% Peek [1 msg] mbox
|
1809 |
|
|
1.01 0.83 3.83 0.22 93% 75% Put [second] mbox
|
1810 |
|
|
0.09 0.02 0.57 0.10 71% 71% Peek [2 msgs] mbox
|
1811 |
|
|
1.03 0.81 5.02 0.27 96% 87% Get [first] mbox
|
1812 |
|
|
0.93 0.81 1.61 0.14 84% 62% Get [second] mbox
|
1813 |
|
|
1.07 0.77 4.18 0.23 68% 50% Tryput [first] mbox
|
1814 |
|
|
0.89 0.72 3.49 0.21 93% 71% Peek item [non-empty] mbox
|
1815 |
|
|
1.04 0.83 4.09 0.26 90% 81% Tryget [non-empty] mbox
|
1816 |
|
|
0.79 0.68 1.97 0.15 87% 68% Peek item [empty] mbox
|
1817 |
|
|
0.84 0.72 2.36 0.17 93% 68% Tryget [empty] mbox
|
1818 |
|
|
0.13 0.02 0.59 0.13 87% 62% Waiting to get mbox
|
1819 |
|
|
0.13 0.02 0.90 0.13 90% 62% Waiting to put mbox
|
1820 |
|
|
0.93 0.77 3.23 0.21 90% 71% Delete mbox
|
1821 |
|
|
4.74 4.51 8.80 0.32 93% 78% Put/Get mbox
|
1822 |
|
|
|
1823 |
|
|
0.50 0.21 1.95 0.29 90% 50% Init semaphore
|
1824 |
|
|
0.86 0.57 2.87 0.29 93% 56% Post [0] semaphore
|
1825 |
|
|
1.01 0.74 3.62 0.28 93% 56% Wait [1] semaphore
|
1826 |
|
|
0.87 0.60 3.17 0.28 90% 59% Trywait [0] semaphore
|
1827 |
|
|
0.74 0.62 1.70 0.14 93% 56% Trywait [1] semaphore
|
1828 |
|
|
0.36 0.11 1.11 0.26 65% 56% Peek semaphore
|
1829 |
|
|
0.25 0.12 1.19 0.14 93% 56% Destroy semaphore
|
1830 |
|
|
7.85 7.52 8.93 0.21 62% 43% Post/Wait semaphore
|
1831 |
|
|
|
1832 |
|
|
0.90 0.44 3.08 0.29 65% 28% Create counter
|
1833 |
|
|
0.07 0.05 0.89 0.05 96% 96% Get counter value
|
1834 |
|
|
0.06 0.05 0.33 0.02 96% 96% Set counter value
|
1835 |
|
|
0.88 0.86 1.62 0.05 96% 96% Tick counter
|
1836 |
|
|
0.13 0.12 0.41 0.02 96% 96% Delete counter
|
1837 |
|
|
|
1838 |
|
|
1.37 0.81 2.95 0.27 62% 25% Create alarm
|
1839 |
|
|
1.35 1.17 6.03 0.31 96% 93% Initialize alarm
|
1840 |
|
|
0.11 0.08 0.65 0.05 90% 90% Disable alarm
|
1841 |
|
|
1.23 1.14 3.05 0.15 93% 87% Enable alarm
|
1842 |
|
|
0.21 0.18 0.47 0.04 90% 90% Delete alarm
|
1843 |
|
|
1.03 0.99 2.11 0.07 96% 96% Tick counter [1 alarm]
|
1844 |
|
|
4.96 4.96 4.96 0.00 100% 100% Tick counter [many alarms]
|
1845 |
|
|
1.70 1.67 2.51 0.05 96% 96% Tick & fire counter [1 alarm]
|
1846 |
|
|
26.39 26.38 26.71 0.02 96% 96% Tick & fire counters [>1 together]
|
1847 |
|
|
5.65 5.64 5.91 0.02 96% 96% Tick & fire counters [>1 separately]
|
1848 |
|
|
2.55 2.38 9.86 0.19 96% 54% Alarm latency [0 threads]
|
1849 |
|
|
5.37 3.80 9.73 0.95 50% 34% Alarm latency [2 threads]
|
1850 |
|
|
8.79 5.83 16.12 1.29 57% 14% Alarm latency [many threads]
|
1851 |
|
|
|
1852 |
|
|
5.85 2.26 16.24 0.00 Clock/interrupt latency
|
1853 |
|
|
|
1854 |
|
|
1540 1536 1544 (main stack: 1664) Thread stack used (2552 total)
|
1855 |
|
|
All done, main stack : stack used 1664 size 3576
|
1856 |
|
|
All done : Interrupt stack used 312 size 4096
|
1857 |
|
|
All done : Idlethread stack used 1440 size 2552
|
1858 |
|
|
|
1859 |
|
|
Timing complete - 23810 ms total
|
1860 |
|
|
|
1861 |
|
|
PASS:<Basic timing OK>
|
1862 |
|
|
EXIT:<done>
|
1863 |
|
|
|
1864 |
|
|
|
1865 |
|
|
|
1866 |
|
|
|
1867 |
|
|
|
1868 |
|
|
|
1869 |
|
|
Board: Intel SA1110 (Assabet)
|
1870 |
|
|
Board: Intel SA1110 (Assabet)
|
1871 |
|
|
|
1872 |
|
|
CPU : StrongARM 221.2 MHz
|
1873 |
|
|
|
1874 |
|
|
|
1875 |
|
|
|
1876 |
|
|
Microseconds for one run through Dhrystone: 3.3
|
1877 |
|
|
Dhrystones per Second: 306748.5
|
1878 |
|
|
VAX MIPS rating = 174.586
|
1879 |
|
|
|
1880 |
|
|
Startup, main stack : stack used 420 size 2400
|
1881 |
|
|
Startup : Interrupt stack used 136 size 4096
|
1882 |
|
|
Startup : Idlethread stack used 84 size 2048
|
1883 |
|
|
|
1884 |
|
|
eCos Kernel Timings
|
1885 |
|
|
Notes: all times are in microseconds (.000001) unless otherwise stated
|
1886 |
|
|
|
1887 |
|
|
Reading the hardware clock takes 0 `ticks' overhead
|
1888 |
|
|
... this value will be factored out of all other measurements
|
1889 |
|
|
Clock interrupt took 3.20 microseconds (11 raw clock ticks)
|
1890 |
|
|
|
1891 |
|
|
Testing parameters:
|
1892 |
|
|
Clock samples: 32
|
1893 |
|
|
Threads: 64
|
1894 |
|
|
Thread switches: 128
|
1895 |
|
|
Mutexes: 32
|
1896 |
|
|
Mailboxes: 32
|
1897 |
|
|
Semaphores: 32
|
1898 |
|
|
Scheduler operations: 128
|
1899 |
|
|
Counters: 32
|
1900 |
|
|
Alarms: 32
|
1901 |
|
|
|
1902 |
|
|
|
1903 |
|
|
Confidence
|
1904 |
|
|
Ave Min Max Var Ave Min Function
|
1905 |
|
|
====== ====== ====== ====== ========== ========
|
1906 |
|
|
5.98 4.88 14.38 0.70 57% 35% Create thread
|
1907 |
|
|
0.86 0.81 1.90 0.08 87% 87% Yield thread [all suspended]
|
1908 |
|
|
1.05 0.81 3.53 0.19 46% 39% Suspend [suspended] thread
|
1909 |
|
|
1.07 0.81 3.80 0.18 48% 35% Resume thread
|
1910 |
|
|
1.36 1.09 5.97 0.22 45% 39% Set priority
|
1911 |
|
|
0.73 0.54 1.90 0.19 85% 50% Get priority
|
1912 |
|
|
2.93 2.44 13.56 0.39 79% 70% Kill [suspended] thread
|
1913 |
|
|
0.89 0.81 4.34 0.14 89% 89% Yield [no other] thread
|
1914 |
|
|
1.63 1.36 4.61 0.17 57% 29% Resume [suspended low prio] thread
|
1915 |
|
|
1.03 0.81 3.53 0.19 46% 42% Resume [runnable low prio] thread
|
1916 |
|
|
1.74 1.36 6.51 0.22 87% 6% Suspend [runnable] thread
|
1917 |
|
|
0.93 0.81 4.61 0.18 98% 78% Yield [only low prio] thread
|
1918 |
|
|
1.06 0.81 3.26 0.19 42% 39% Suspend [runnable->not runnable]
|
1919 |
|
|
2.56 1.90 13.02 0.41 87% 34% Kill [runnable] thread
|
1920 |
|
|
2.02 1.63 7.05 0.22 92% 3% Destroy [dead] thread
|
1921 |
|
|
3.09 2.44 15.19 0.51 78% 46% Destroy [runnable] thread
|
1922 |
|
|
6.77 5.43 13.02 0.59 75% 17% Resume [high priority] thread
|
1923 |
|
|
1.81 1.63 7.87 0.18 49% 49% Thread switch
|
1924 |
|
|
|
1925 |
|
|
0.25 0.00 1.36 0.05 89% 10% Scheduler lock
|
1926 |
|
|
0.51 0.27 1.36 0.06 85% 13% Scheduler unlock [0 threads]
|
1927 |
|
|
0.51 0.27 1.09 0.06 85% 13% Scheduler unlock [1 suspended]
|
1928 |
|
|
0.51 0.27 1.09 0.07 85% 14% Scheduler unlock [many suspended]
|
1929 |
|
|
0.51 0.27 1.09 0.06 85% 13% Scheduler unlock [many low prio]
|
1930 |
|
|
|
1931 |
|
|
0.52 0.27 2.17 0.15 62% 31% Init mutex
|
1932 |
|
|
0.97 0.54 4.34 0.28 84% 65% Lock [unlocked] mutex
|
1933 |
|
|
1.05 0.81 5.15 0.28 96% 96% Unlock [locked] mutex
|
1934 |
|
|
0.86 0.54 3.26 0.24 65% 31% Trylock [unlocked] mutex
|
1935 |
|
|
0.79 0.54 3.53 0.23 43% 46% Trylock [locked] mutex
|
1936 |
|
|
0.33 0.27 1.63 0.11 90% 90% Destroy mutex
|
1937 |
|
|
4.16 3.80 8.95 0.30 75% 96% Unlock/Lock mutex
|
1938 |
|
|
|
1939 |
|
|
0.70 0.54 2.98 0.21 96% 65% Create mbox
|
1940 |
|
|
0.59 0.27 1.63 0.14 75% 9% Peek [empty] mbox
|
1941 |
|
|
1.33 1.09 5.70 0.31 96% 93% Put [first] mbox
|
1942 |
|
|
0.61 0.27 1.63 0.13 81% 3% Peek [1 msg] mbox
|
1943 |
|
|
1.35 1.09 5.43 0.31 96% 87% Put [second] mbox
|
1944 |
|
|
0.58 0.27 1.36 0.11 78% 6% Peek [2 msgs] mbox
|
1945 |
|
|
1.38 1.09 4.88 0.25 59% 37% Get [first] mbox
|
1946 |
|
|
1.40 1.09 5.15 0.26 62% 34% Get [second] mbox
|
1947 |
|
|
1.27 0.81 4.88 0.28 90% 65% Tryput [first] mbox
|
1948 |
|
|
1.34 0.81 4.61 0.22 59% 6% Peek item [non-empty] mbox
|
1949 |
|
|
1.47 1.09 5.15 0.27 84% 12% Tryget [non-empty] mbox
|
1950 |
|
|
1.12 0.81 4.34 0.23 59% 31% Peek item [empty] mbox
|
1951 |
|
|
1.14 0.81 4.07 0.24 71% 25% Tryget [empty] mbox
|
1952 |
|
|
0.59 0.27 1.36 0.12 78% 6% Waiting to get mbox
|
1953 |
|
|
0.59 0.27 1.36 0.12 78% 6% Waiting to put mbox
|
1954 |
|
|
1.28 0.81 5.43 0.32 87% 78% Delete mbox
|
1955 |
|
|
2.64 2.17 10.31 0.48 96% 96% Put/Get mbox
|
1956 |
|
|
|
1957 |
|
|
0.47 0.27 2.17 0.19 46% 46% Init semaphore
|
1958 |
|
|
0.77 0.54 3.80 0.26 90% 56% Post [0] semaphore
|
1959 |
|
|
0.90 0.54 4.07 0.26 75% 21% Wait [1] semaphore
|
1960 |
|
|
0.85 0.54 3.26 0.21 56% 28% Trywait [0] semaphore
|
1961 |
|
|
0.69 0.54 2.17 0.18 96% 62% Trywait [1] semaphore
|
1962 |
|
|
0.44 0.27 2.17 0.19 96% 56% Peek semaphore
|
1963 |
|
|
0.38 0.27 1.90 0.17 96% 75% Destroy semaphore
|
1964 |
|
|
2.74 2.44 9.49 0.42 96% 96% Post/Wait semaphore
|
1965 |
|
|
|
1966 |
|
|
0.43 0.27 1.90 0.18 96% 56% Create counter
|
1967 |
|
|
0.49 0.00 2.17 0.18 56% 3% Get counter value
|
1968 |
|
|
0.33 0.00 1.63 0.13 78% 6% Set counter value
|
1969 |
|
|
1.03 0.81 2.44 0.22 84% 50% Tick counter
|
1970 |
|
|
0.42 0.27 1.90 0.20 90% 65% Delete counter
|
1971 |
|
|
|
1972 |
|
|
0.70 0.54 2.44 0.20 93% 62% Create alarm
|
1973 |
|
|
1.65 1.36 6.78 0.40 96% 81% Initialize alarm
|
1974 |
|
|
0.75 0.54 1.63 0.18 43% 43% Disable alarm
|
1975 |
|
|
1.75 1.36 7.05 0.38 65% 81% Enable alarm
|
1976 |
|
|
0.81 0.54 2.44 0.15 62% 28% Delete alarm
|
1977 |
|
|
1.01 0.81 2.17 0.16 56% 40% Tick counter [1 alarm]
|
1978 |
|
|
4.19 4.07 5.43 0.16 96% 68% Tick counter [many alarms]
|
1979 |
|
|
1.48 1.36 3.80 0.20 96% 78% Tick & fire counter [1 alarm]
|
1980 |
|
|
20.23 20.07 22.52 0.21 96% 65% Tick & fire counters [>1 together]
|
1981 |
|
|
4.70 4.61 6.78 0.16 87% 87% Tick & fire counters [>1 separately]
|
1982 |
|
|
2.81 2.71 14.38 0.20 98% 98% Alarm latency [0 threads]
|
1983 |
|
|
3.19 2.71 13.56 0.38 73% 59% Alarm latency [2 threads]
|
1984 |
|
|
9.71 7.87 18.17 1.25 59% 53% Alarm latency [many threads]
|
1985 |
|
|
5.77 5.43 45.57 0.68 97% 97% Alarm -> thread resume latency
|
1986 |
|
|
|
1987 |
|
|
2.38 0.81 9.49 0.00 Clock/interrupt latency
|
1988 |
|
|
|
1989 |
|
|
2.02 1.09 7.32 0.00 Clock DSR latency
|
1990 |
|
|
|
1991 |
|
|
11 0 316 (main stack: 764) Thread stack used (1120 total)
|
1992 |
|
|
All done, main stack : stack used 764 size 2400
|
1993 |
|
|
All done : Interrupt stack used 287 size 4096
|
1994 |
|
|
All done : Idlethread stack used 272 size 2048
|
1995 |
|
|
|
1996 |
|
|
Timing complete - 30220 ms total
|
1997 |
|
|
|
1998 |
|
|
|
1999 |
|
|
|
2000 |
|
|
|
2001 |
|
|
|
2002 |
|
|
|
2003 |
|
|
Board: Intel SA1100 (Brutus)
|
2004 |
|
|
Board: Intel SA1100 (Brutus)
|
2005 |
|
|
|
2006 |
|
|
CPU : StrongARM 221.2 MHz
|
2007 |
|
|
|
2008 |
|
|
Microseconds for one run through Dhrystone: 3.3
|
2009 |
|
|
Dhrystones per Second: 306748.5
|
2010 |
|
|
VAX MIPS rating = 174.586
|
2011 |
|
|
|
2012 |
|
|
Startup, main stack : stack used 404 size 2400
|
2013 |
|
|
Startup : Interrupt stack used 136 size 4096
|
2014 |
|
|
Startup : Idlethread stack used 87 size 2048
|
2015 |
|
|
|
2016 |
|
|
eCos Kernel Timings
|
2017 |
|
|
Notes: all times are in microseconds (.000001) unless otherwise stated
|
2018 |
|
|
|
2019 |
|
|
Reading the hardware clock takes 0 `ticks' overhead
|
2020 |
|
|
... this value will be factored out of all other measurements
|
2021 |
|
|
Clock interrupt took 3.09 microseconds (11 raw clock ticks)
|
2022 |
|
|
|
2023 |
|
|
Testing parameters:
|
2024 |
|
|
Clock samples: 32
|
2025 |
|
|
Threads: 64
|
2026 |
|
|
Thread switches: 128
|
2027 |
|
|
Mutexes: 32
|
2028 |
|
|
Mailboxes: 32
|
2029 |
|
|
Semaphores: 32
|
2030 |
|
|
Scheduler operations: 128
|
2031 |
|
|
Counters: 32
|
2032 |
|
|
Alarms: 32
|
2033 |
|
|
|
2034 |
|
|
|
2035 |
|
|
Confidence
|
2036 |
|
|
Ave Min Max Var Ave Min Function
|
2037 |
|
|
====== ====== ====== ====== ========== ========
|
2038 |
|
|
6.63 5.43 18.99 0.77 70% 37% Create thread
|
2039 |
|
|
0.83 0.81 2.17 0.04 98% 98% Yield thread [all suspended]
|
2040 |
|
|
1.27 0.81 5.15 0.30 68% 73% Suspend [suspended] thread
|
2041 |
|
|
1.25 0.81 5.15 0.25 82% 1% Resume thread
|
2042 |
|
|
1.52 1.09 7.87 0.30 78% 75% Set priority
|
2043 |
|
|
0.97 0.54 2.71 0.28 64% 51% Get priority
|
2044 |
|
|
3.45 2.71 19.53 0.66 84% 76% Kill [suspended] thread
|
2045 |
|
|
0.90 0.81 6.24 0.17 98% 98% Yield [no other] thread
|
2046 |
|
|
1.86 1.36 6.24 0.33 68% 50% Resume [suspended low prio] thread
|
2047 |
|
|
1.25 0.81 5.15 0.25 82% 1% Resume [runnable low prio] thread
|
2048 |
|
|
2.01 1.63 10.04 0.32 70% 84% Suspend [runnable] thread
|
2049 |
|
|
0.90 0.81 6.24 0.17 98% 98% Yield [only low prio] thread
|
2050 |
|
|
1.25 0.81 5.15 0.24 84% 1% Suspend [runnable->not runnable]
|
2051 |
|
|
2.92 1.90 18.72 0.57 85% 43% Kill [runnable] thread
|
2052 |
|
|
2.45 1.90 10.31 0.33 95% 54% Destroy [dead] thread
|
2053 |
|
|
3.95 2.71 23.60 0.89 68% 54% Destroy [runnable] thread
|
2054 |
|
|
8.55 6.24 19.53 1.15 60% 23% Resume [high priority] thread
|
2055 |
|
|
1.85 1.63 11.94 0.21 49% 49% Thread switch
|
2056 |
|
|
|
2057 |
|
|
0.25 0.00 1.63 0.05 89% 10% Scheduler lock
|
2058 |
|
|
0.52 0.27 1.90 0.07 85% 13% Scheduler unlock [0 threads]
|
2059 |
|
|
0.51 0.27 1.36 0.06 85% 13% Scheduler unlock [1 suspended]
|
2060 |
|
|
0.51 0.27 1.36 0.06 85% 13% Scheduler unlock [many suspended]
|
2061 |
|
|
0.51 0.27 1.63 0.06 85% 13% Scheduler unlock [many low prio]
|
2062 |
|
|
|
2063 |
|
|
0.58 0.27 3.53 0.20 71% 21% Init mutex
|
2064 |
|
|
1.07 0.54 5.70 0.35 87% 59% Lock [unlocked] mutex
|
2065 |
|
|
1.14 0.81 6.51 0.40 96% 81% Unlock [locked] mutex
|
2066 |
|
|
0.96 0.54 5.15 0.34 68% 65% Trylock [unlocked] mutex
|
2067 |
|
|
0.94 0.54 4.88 0.34 65% 65% Trylock [locked] mutex
|
2068 |
|
|
0.33 0.27 2.17 0.11 96% 96% Destroy mutex
|
2069 |
|
|
4.21 3.80 10.85 0.41 71% 96% Unlock/Lock mutex
|
2070 |
|
|
0.76 0.54 4.07 0.25 96% 56% Create mbox
|
2071 |
|
|
0.75 0.54 1.90 0.20 84% 50% Peek [empty] mbox
|
2072 |
|
|
1.56 1.09 6.78 0.39 68% 59% Put [first] mbox
|
2073 |
|
|
0.75 0.54 1.90 0.20 84% 50% Peek [1 msg] mbox
|
2074 |
|
|
1.55 1.09 6.78 0.40 68% 62% Put [second] mbox
|
2075 |
|
|
0.77 0.54 1.63 0.17 46% 37% Peek [2 msgs] mbox
|
2076 |
|
|
1.67 1.09 6.24 0.31 87% 34% Get [first] mbox
|
2077 |
|
|
1.63 1.09 6.24 0.31 75% 34% Get [second] mbox
|
2078 |
|
|
1.50 1.09 6.51 0.40 56% 62% Tryput [first] mbox
|
2079 |
|
|
1.58 1.09 5.43 0.37 68% 53% Peek item [non-empty] mbox
|
2080 |
|
|
1.79 1.09 7.05 0.43 71% 25% Tryget [non-empty] mbox
|
2081 |
|
|
1.29 1.09 5.15 0.32 87% 87% Peek item [empty] mbox
|
2082 |
|
|
1.33 1.09 5.97 0.37 96% 84% Tryget [empty] mbox
|
2083 |
|
|
0.73 0.54 1.90 0.21 84% 56% Waiting to get mbox
|
2084 |
|
|
0.76 0.54 1.90 0.19 40% 43% Waiting to put mbox
|
2085 |
|
|
1.47 1.09 6.78 0.39 59% 84% Delete mbox
|
2086 |
|
|
2.70 2.17 12.75 0.63 96% 96% Put/Get mbox
|
2087 |
|
|
|
2088 |
|
|
0.47 0.27 2.71 0.20 96% 50% Init semaphore
|
2089 |
|
|
0.89 0.54 4.88 0.33 56% 75% Post [0] semaphore
|
2090 |
|
|
0.96 0.54 5.15 0.33 71% 75% Wait [1] semaphore
|
2091 |
|
|
0.86 0.54 4.88 0.32 96% 81% Trywait [0] semaphore
|
2092 |
|
|
0.69 0.54 3.26 0.22 96% 75% Trywait [1] semaphore
|
2093 |
|
|
0.49 0.27 3.26 0.28 84% 84% Peek semaphore
|
2094 |
|
|
0.39 0.27 2.44 0.19 96% 78% Destroy semaphore
|
2095 |
|
|
2.83 2.44 11.66 0.55 96% 96% Post/Wait semaphore
|
2096 |
|
|
|
2097 |
|
|
0.52 0.27 3.26 0.20 56% 40% Create counter
|
2098 |
|
|
0.59 0.00 2.71 0.34 81% 46% Get counter value
|
2099 |
|
|
0.36 0.00 2.44 0.21 81% 9% Set counter value
|
2100 |
|
|
1.13 0.81 2.98 0.26 59% 37% Tick counter
|
2101 |
|
|
0.39 0.27 1.90 0.19 90% 78% Delete counter
|
2102 |
|
|
|
2103 |
|
|
0.86 0.54 4.07 0.24 65% 31% Create alarm
|
2104 |
|
|
1.86 1.36 9.77 0.54 96% 90% Initialize alarm
|
2105 |
|
|
0.77 0.54 2.71 0.23 84% 50% Disable alarm
|
2106 |
|
|
1.86 1.36 9.22 0.51 96% 75% Enable alarm
|
2107 |
|
|
0.89 0.54 3.26 0.25 65% 21% Delete alarm
|
2108 |
|
|
0.99 0.81 3.26 0.21 96% 59% Tick counter [1 alarm]
|
2109 |
|
|
4.22 4.07 6.78 0.22 96% 71% Tick counter [many alarms]
|
2110 |
|
|
1.51 1.36 4.61 0.24 96% 78% Tick & fire counter [1 alarm]
|
2111 |
|
|
20.29 20.07 23.33 0.23 96% 53% Tick & fire counters [>1 together]
|
2112 |
|
|
4.71 4.61 7.87 0.20 96% 96% Tick & fire counters [>1 separately]
|
2113 |
|
|
2.88 2.71 23.87 0.33 99% 99% Alarm latency [0 threads]
|
2114 |
|
|
3.24 2.71 17.36 0.40 79% 58% Alarm latency [2 threads]
|
2115 |
|
|
15.71 12.48 27.40 1.47 53% 17% Alarm latency [many threads]
|
2116 |
|
|
5.95 5.43 64.56 1.02 97% 97% Alarm -> thread resume latency
|
2117 |
|
|
|
2118 |
|
|
3.25 0.81 14.11 0.00 Clock/interrupt latency
|
2119 |
|
|
|
2120 |
|
|
2.68 1.09 12.75 0.00 Clock DSR latency
|
2121 |
|
|
|
2122 |
|
|
29 0 316 (main stack: 764) Thread stack used (1120 total)
|
2123 |
|
|
All done, main stack : stack used 764 size 2400
|
2124 |
|
|
All done : Interrupt stack used 288 size 4096
|
2125 |
|
|
All done : Idlethread stack used 260 size 2048
|
2126 |
|
|
|
2127 |
|
|
|
2128 |
|
|
Timing complete - 30280 ms total
|
2129 |
|
|
|
2130 |
|
|
|
2131 |
|
|
|
2132 |
|
|
|
2133 |
|
|
|
2134 |
|
|
|
2135 |
|
|
|
2136 |
|
|
Board: Motorola MBX
|
2137 |
|
|
|
2138 |
|
|
|
2139 |
|
|
Board: Motorola MBX
|
2140 |
|
|
|
2141 |
|
|
CPU : Motorola MPC860 66MHZ
|
2142 |
|
|
|
2143 |
|
|
|
2144 |
|
|
Startup, main stack : stack used 643 size 5664
|
2145 |
|
|
Startup : Interrupt stack used 427 size 4096
|
2146 |
|
|
Startup : Idlethread stack used 236 size 2048
|
2147 |
|
|
|
2148 |
|
|
eCos Kernel Timings
|
2149 |
|
|
Notes: all times are in microseconds (.000001) unless otherwise stated
|
2150 |
|
|
|
2151 |
|
|
Reading the hardware clock takes 0 `ticks' overhead
|
2152 |
|
|
... this value will be factored out of all other measurements
|
2153 |
|
|
Clock interrupt took 25.36 microseconds (79 raw clock ticks)
|
2154 |
|
|
|
2155 |
|
|
Testing parameters:
|
2156 |
|
|
Clock samples: 32
|
2157 |
|
|
Threads: 16
|
2158 |
|
|
Thread switches: 128
|
2159 |
|
|
Mutexes: 32
|
2160 |
|
|
Mailboxes: 32
|
2161 |
|
|
Semaphores: 32
|
2162 |
|
|
Scheduler operations: 128
|
2163 |
|
|
Counters: 32
|
2164 |
|
|
Alarms: 32
|
2165 |
|
|
|
2166 |
|
|
|
2167 |
|
|
Confidence
|
2168 |
|
|
Ave Min Max Var Ave Min Function
|
2169 |
|
|
====== ====== ====== ====== ========== ========
|
2170 |
|
|
27.58 25.60 44.16 2.07 93% 93% Create thread
|
2171 |
|
|
5.94 5.76 7.04 0.22 93% 62% Yield thread [all suspended]
|
2172 |
|
|
6.06 5.44 10.56 0.57 75% 75% Suspend [suspended] thread
|
2173 |
|
|
5.42 4.80 9.60 0.53 87% 81% Resume thread
|
2174 |
|
|
7.10 6.40 14.08 0.90 93% 87% Set priority
|
2175 |
|
|
0.86 0.64 1.92 0.22 93% 50% Get priority
|
2176 |
|
|
16.74 15.04 36.48 2.47 93% 93% Kill [suspended] thread
|
2177 |
|
|
6.14 5.76 10.56 0.55 93% 93% Yield [no other] thread
|
2178 |
|
|
9.74 8.96 18.56 1.10 93% 93% Resume [suspended low prio] thread
|
2179 |
|
|
5.28 4.80 9.28 0.54 93% 81% Resume [runnable low prio] thread
|
2180 |
|
|
9.40 8.32 18.56 1.14 93% 93% Suspend [runnable] thread
|
2181 |
|
|
6.04 5.76 8.96 0.38 93% 93% Yield [only low prio] thread
|
2182 |
|
|
5.68 5.12 9.60 0.52 68% 75% Suspend [runnable->not runnable]
|
2183 |
|
|
16.10 14.40 35.20 2.39 93% 93% Kill [runnable] thread
|
2184 |
|
|
8.54 7.68 16.00 0.94 93% 87% Destroy [dead] thread
|
2185 |
|
|
20.20 18.56 40.64 2.55 93% 93% Destroy [runnable] thread
|
2186 |
|
|
39.02 36.48 57.28 3.28 87% 87% Resume [high priority] thread
|
2187 |
|
|
13.13 12.80 22.08 0.15 78% 20% Thread switch
|
2188 |
|
|
|
2189 |
|
|
0.59 0.32 1.60 0.09 82% 16% Scheduler lock
|
2190 |
|
|
3.67 3.52 5.12 0.17 99% 54% Scheduler unlock [0 threads]
|
2191 |
|
|
3.67 3.52 4.80 0.17 99% 53% Scheduler unlock [1 suspended]
|
2192 |
|
|
3.67 3.52 4.80 0.17 54% 54% Scheduler unlock [many suspended]
|
2193 |
|
|
3.69 3.52 5.12 0.17 99% 50% Scheduler unlock [many low prio]
|
2194 |
|
|
|
2195 |
|
|
2.41 2.24 5.44 0.25 96% 75% Init mutex
|
2196 |
|
|
6.83 6.40 11.84 0.34 75% 90% Lock [unlocked] mutex
|
2197 |
|
|
6.74 6.40 13.12 0.40 96% 96% Unlock [locked] mutex
|
2198 |
|
|
5.53 5.12 9.60 0.25 84% 12% Trylock [unlocked] mutex
|
2199 |
|
|
4.84 4.48 7.36 0.17 78% 15% Trylock [locked] mutex
|
2200 |
|
|
0.34 0.00 0.96 0.06 90% 3% Destroy mutex
|
2201 |
|
|
56.10 55.68 59.52 0.21 93% 3% Unlock/Lock mutex
|
2202 |
|
|
|
2203 |
|
|
4.72 4.48 10.24 0.37 96% 96% Create mbox
|
2204 |
|
|
0.75 0.64 1.92 0.16 75% 75% Peek [empty] mbox
|
2205 |
|
|
6.79 6.40 12.80 0.41 96% 90% Put [first] mbox
|
2206 |
|
|
0.46 0.32 1.60 0.19 93% 68% Peek [1 msg] mbox
|
2207 |
|
|
6.68 6.40 12.16 0.37 96% 96% Put [second] mbox
|
2208 |
|
|
0.50 0.32 1.60 0.20 93% 56% Peek [2 msgs] mbox
|
2209 |
|
|
7.13 6.40 14.08 0.49 90% 46% Get [first] mbox
|
2210 |
|
|
6.97 6.40 13.44 0.47 84% 78% Get [second] mbox
|
2211 |
|
|
6.24 5.76 11.52 0.38 78% 81% Tryput [first] mbox
|
2212 |
|
|
5.98 5.44 11.20 0.39 78% 62% Peek item [non-empty] mbox
|
2213 |
|
|
6.52 6.08 13.12 0.49 93% 81% Tryget [non-empty] mbox
|
2214 |
|
|
5.50 5.12 10.24 0.30 68% 28% Peek item [empty] mbox
|
2215 |
|
|
5.76 5.44 10.88 0.32 96% 96% Tryget [empty] mbox
|
2216 |
|
|
0.50 0.32 1.60 0.19 96% 53% Waiting to get mbox
|
2217 |
|
|
0.50 0.32 1.60 0.19 96% 53% Waiting to put mbox
|
2218 |
|
|
7.45 7.04 15.04 0.49 96% 93% Delete mbox
|
2219 |
|
|
37.47 36.80 48.64 0.70 96% 96% Put/Get mbox
|
2220 |
|
|
|
2221 |
|
|
2.49 2.24 6.08 0.28 96% 56% Init semaphore
|
2222 |
|
|
5.09 4.80 8.64 0.27 46% 46% Post [0] semaphore
|
2223 |
|
|
6.25 5.76 10.88 0.32 93% 3% Wait [1] semaphore
|
2224 |
|
|
4.84 4.48 8.32 0.23 68% 25% Trywait [0] semaphore
|
2225 |
|
|
4.98 4.80 8.00 0.26 96% 71% Trywait [1] semaphore
|
2226 |
|
|
1.66 1.28 3.84 0.20 68% 15% Peek semaphore
|
2227 |
|
|
1.24 0.96 3.20 0.17 65% 31% Destroy semaphore
|
2228 |
|
|
40.74 40.32 49.28 0.53 96% 96% Post/Wait semaphore
|
2229 |
|
|
|
2230 |
|
|
2.65 2.24 6.08 0.23 84% 9% Create counter
|
2231 |
|
|
0.85 0.64 2.24 0.22 90% 53% Get counter value
|
2232 |
|
|
0.68 0.64 1.92 0.08 96% 96% Set counter value
|
2233 |
|
|
7.13 6.72 8.64 0.24 78% 18% Tick counter
|
2234 |
|
|
1.30 0.96 3.20 0.12 84% 12% Delete counter
|
2235 |
|
|
|
2236 |
|
|
3.69 3.52 7.68 0.29 96% 84% Create alarm
|
2237 |
|
|
8.98 8.32 17.60 0.61 68% 62% Initialize alarm
|
2238 |
|
|
0.96 0.64 2.88 0.14 71% 21% Disable alarm
|
2239 |
|
|
8.76 8.32 17.60 0.59 96% 87% Enable alarm
|
2240 |
|
|
1.99 1.60 5.12 0.21 81% 12% Delete alarm
|
2241 |
|
|
7.44 7.36 9.92 0.15 96% 96% Tick counter [1 alarm]
|
2242 |
|
|
21.68 21.44 24.64 0.25 96% 53% Tick counter [many alarms]
|
2243 |
|
|
10.95 10.56 15.04 0.26 78% 18% Tick & fire counter [1 alarm]
|
2244 |
|
|
132.79 132.48 136.32 0.23 59% 37% Tick & fire counters [>1 together]
|
2245 |
|
|
25.18 24.96 28.80 0.29 96% 65% Tick & fire counters [>1 separately]
|
2246 |
|
|
23.06 22.72 47.36 0.40 98% 98% Alarm latency [0 threads]
|
2247 |
|
|
31.53 27.20 56.00 0.63 96% 0% Alarm latency [2 threads]
|
2248 |
|
|
36.86 30.40 58.88 4.15 50% 28% Alarm latency [many threads]
|
2249 |
|
|
|
2250 |
|
|
11.41 8.96 16.32 0.00 Clock/interrupt latency
|
2251 |
|
|
|
2252 |
|
|
609 603 651 (main stack: 1059) Thread stack used (1704 total)
|
2253 |
|
|
All done, main stack : stack used 1059 size 5664
|
2254 |
|
|
All done : Interrupt stack used 251 size 4096
|
2255 |
|
|
All done : Idlethread stack used 587 size 2048
|
2256 |
|
|
|
2257 |
|
|
Timing complete - 23690 ms total
|
2258 |
|
|
|
2259 |
|
|
PASS:<Basic timing OK>
|
2260 |
|
|
EXIT:<done>
|
2261 |
|
|
|
2262 |
|
|
|
2263 |
|
|
|
2264 |
|
|
|
2265 |
|
|
|
2266 |
|
|
|
2267 |
|
|
|
2268 |
|
|
Board: Hitachi EDK7708
|
2269 |
|
|
|
2270 |
|
|
|
2271 |
|
|
|
2272 |
|
|
Board: Hitachi EDK7708
|
2273 |
|
|
|
2274 |
|
|
CPU: Hitachi SH3/7708 60MHz
|
2275 |
|
|
|
2276 |
|
|
|
2277 |
|
|
|
2278 |
|
|
Startup, main stack : stack used 444 size 4112
|
2279 |
|
|
Startup : Interrupt stack used 76 size 4096
|
2280 |
|
|
Startup : Idlethread stack used 96 size 2048
|
2281 |
|
|
|
2282 |
|
|
eCos Kernel Timings
|
2283 |
|
|
Notes: all times are in microseconds (.000001) unless otherwise stated
|
2284 |
|
|
|
2285 |
|
|
Reading the hardware clock takes 2 `ticks' overhead
|
2286 |
|
|
... this value will be factored out of all other measurements
|
2287 |
|
|
Clock interrupt took 14.75 microseconds (55 raw clock ticks)
|
2288 |
|
|
|
2289 |
|
|
Testing parameters:
|
2290 |
|
|
Clock samples: 32
|
2291 |
|
|
Threads: 16
|
2292 |
|
|
Thread switches: 128
|
2293 |
|
|
Mutexes: 32
|
2294 |
|
|
Mailboxes: 32
|
2295 |
|
|
Semaphores: 32
|
2296 |
|
|
Scheduler operations: 128
|
2297 |
|
|
Counters: 32
|
2298 |
|
|
Alarms: 32
|
2299 |
|
|
|
2300 |
|
|
|
2301 |
|
|
Confidence
|
2302 |
|
|
Ave Min Max Var Ave Min Function
|
2303 |
|
|
====== ====== ====== ====== ========== ========
|
2304 |
|
|
15.43 13.60 24.00 1.29 62% 50% Create thread
|
2305 |
|
|
3.33 3.20 4.27 0.18 93% 68% Yield thread [all suspended]
|
2306 |
|
|
2.90 2.40 5.33 0.36 81% 62% Suspend [suspended] thread
|
2307 |
|
|
2.93 2.67 4.80 0.27 93% 87% Resume thread
|
2308 |
|
|
4.30 3.73 10.13 0.73 93% 93% Set priority
|
2309 |
|
|
0.65 0.27 2.13 0.28 68% 62% Get priority
|
2310 |
|
|
9.72 8.53 21.33 1.45 93% 93% Kill [suspended] thread
|
2311 |
|
|
3.33 3.20 4.53 0.20 93% 75% Yield [no other] thread
|
2312 |
|
|
5.30 4.80 10.13 0.65 93% 87% Resume [suspended low prio] thread
|
2313 |
|
|
2.80 2.40 4.53 0.27 81% 75% Resume [runnable low prio] thread
|
2314 |
|
|
4.82 4.00 8.27 0.49 68% 25% Suspend [runnable] thread
|
2315 |
|
|
3.32 3.20 4.00 0.16 93% 68% Yield [only low prio] thread
|
2316 |
|
|
2.82 2.40 4.27 0.25 81% 12% Suspend [runnable->not runnable]
|
2317 |
|
|
9.45 8.53 19.47 1.25 93% 93% Kill [runnable] thread
|
2318 |
|
|
5.30 4.53 11.20 0.74 87% 93% Destroy [dead] thread
|
2319 |
|
|
11.83 10.67 25.07 1.65 93% 93% Destroy [runnable] thread
|
2320 |
|
|
19.53 17.33 31.20 1.88 75% 75% Resume [high priority] thread
|
2321 |
|
|
6.70 6.67 11.47 0.07 99% 99% Thread switch
|
2322 |
|
|
|
2323 |
|
|
0.33 0.27 0.80 0.10 75% 75% Scheduler lock
|
2324 |
|
|
1.74 1.60 2.67 0.14 99% 50% Scheduler unlock [0 threads]
|
2325 |
|
|
1.72 1.60 3.20 0.14 99% 57% Scheduler unlock [1 suspended]
|
2326 |
|
|
1.81 1.60 3.20 0.10 75% 23% Scheduler unlock [many suspended]
|
2327 |
|
|
1.86 1.60 3.20 0.02 94% 4% Scheduler unlock [many low prio]
|
2328 |
|
|
|
2329 |
|
|
1.22 1.07 3.20 0.20 96% 65% Init mutex
|
2330 |
|
|
3.21 2.93 5.87 0.17 68% 28% Lock [unlocked] mutex
|
2331 |
|
|
3.36 2.93 7.47 0.30 84% 75% Unlock [locked] mutex
|
2332 |
|
|
2.83 2.67 5.33 0.22 96% 65% Trylock [unlocked] mutex
|
2333 |
|
|
2.53 2.40 2.93 0.14 96% 53% Trylock [locked] mutex
|
2334 |
|
|
0.28 0.27 0.80 0.03 96% 96% Destroy mutex
|
2335 |
|
|
20.09 19.73 23.20 0.23 84% 12% Unlock/Lock mutex
|
2336 |
|
|
|
2337 |
|
|
2.38 2.13 4.53 0.17 59% 34% Create mbox
|
2338 |
|
|
0.45 0.27 1.33 0.15 56% 40% Peek [empty] mbox
|
2339 |
|
|
3.70 3.20 7.20 0.29 84% 59% Put [first] mbox
|
2340 |
|
|
0.45 0.27 0.80 0.13 62% 34% Peek [1 msg] mbox
|
2341 |
|
|
3.67 3.20 5.60 0.23 81% 6% Put [second] mbox
|
2342 |
|
|
0.42 0.27 0.53 0.13 59% 40% Peek [2 msgs] mbox
|
2343 |
|
|
3.98 3.47 7.47 0.24 59% 9% Get [first] mbox
|
2344 |
|
|
3.97 3.47 4.80 0.24 59% 12% Get [second] mbox
|
2345 |
|
|
3.51 3.20 6.67 0.28 56% 78% Tryput [first] mbox
|
2346 |
|
|
3.29 2.93 5.60 0.29 59% 65% Peek item [non-empty] mbox
|
2347 |
|
|
4.06 3.47 7.20 0.26 68% 3% Tryget [non-empty] mbox
|
2348 |
|
|
3.03 2.67 5.33 0.19 93% 3% Peek item [empty] mbox
|
2349 |
|
|
3.36 3.20 4.80 0.18 96% 56% Tryget [empty] mbox
|
2350 |
|
|
0.57 0.27 1.33 0.09 84% 3% Waiting to get mbox
|
2351 |
|
|
0.52 0.27 1.07 0.11 62% 21% Waiting to put mbox
|
2352 |
|
|
3.88 3.47 7.47 0.30 78% 65% Delete mbox
|
2353 |
|
|
12.04 11.73 17.33 0.33 96% 96% Put/Get mbox
|
2354 |
|
|
|
2355 |
|
|
1.17 1.07 2.40 0.16 71% 71% Init semaphore
|
2356 |
|
|
2.67 2.40 4.27 0.15 62% 25% Post [0] semaphore
|
2357 |
|
|
3.00 2.67 4.53 0.17 65% 12% Wait [1] semaphore
|
2358 |
|
|
2.54 2.40 4.80 0.20 96% 71% Trywait [0] semaphore
|
2359 |
|
|
2.42 2.40 2.93 0.03 96% 96% Trywait [1] semaphore
|
2360 |
|
|
0.79 0.53 2.13 0.15 59% 28% Peek semaphore
|
2361 |
|
|
0.77 0.53 1.87 0.12 71% 25% Destroy semaphore
|
2362 |
|
|
12.64 12.27 17.07 0.28 84% 96% Post/Wait semaphore
|
2363 |
|
|
|
2364 |
|
|
1.27 1.07 2.93 0.17 53% 43% Create counter
|
2365 |
|
|
0.54 0.27 1.33 0.13 59% 21% Get counter value
|
2366 |
|
|
0.47 0.27 1.60 0.17 46% 43% Set counter value
|
2367 |
|
|
3.47 3.20 4.80 0.16 53% 28% Tick counter
|
2368 |
|
|
0.80 0.53 2.13 0.13 62% 25% Delete counter
|
2369 |
|
|
|
2370 |
|
|
1.86 1.60 4.00 0.21 43% 40% Create alarm
|
2371 |
|
|
5.12 4.80 9.07 0.36 93% 75% Initialize alarm
|
2372 |
|
|
0.44 0.27 1.33 0.19 87% 53% Disable alarm
|
2373 |
|
|
4.77 4.27 9.60 0.35 87% 62% Enable alarm
|
2374 |
|
|
1.02 0.80 2.67 0.18 53% 40% Delete alarm
|
2375 |
|
|
3.56 3.47 5.33 0.15 84% 84% Tick counter [1 alarm]
|
2376 |
|
|
15.04 14.93 16.27 0.16 71% 71% Tick counter [many alarms]
|
2377 |
|
|
5.75 5.60 8.00 0.21 96% 68% Tick & fire counter [1 alarm]
|
2378 |
|
|
79.60 79.47 81.07 0.17 96% 65% Tick & fire counters [>1 together]
|
2379 |
|
|
17.04 16.80 18.93 0.15 65% 31% Tick & fire counters [>1 separately]
|
2380 |
|
|
12.44 12.27 29.60 0.31 96% 96% Alarm latency [0 threads]
|
2381 |
|
|
14.06 12.27 27.20 0.53 82% 4% Alarm latency [2 threads]
|
2382 |
|
|
19.62 17.07 38.40 1.44 57% 34% Alarm latency [many threads]
|
2383 |
|
|
|
2384 |
|
|
2.79 2.40 6.13 0.00 Clock/interrupt latency
|
2385 |
|
|
|
2386 |
|
|
376 376 376 (main stack: 764) Thread stack used (992 total)
|
2387 |
|
|
All done, main stack : stack used 764 size 4112
|
2388 |
|
|
All done : Interrupt stack used 176 size 4096
|
2389 |
|
|
All done : Idlethread stack used 352 size 2048
|
2390 |
|
|
|
2391 |
|
|
Timing complete - 23860 ms total
|
2392 |
|
|
|
2393 |
|
|
PASS:<Basic timing OK>
|
2394 |
|
|
EXIT:<done>
|
2395 |
|
|
|
2396 |
|
|
|
2397 |
|
|
|
2398 |
|
|
|
2399 |
|
|
|
2400 |
|
|
|
2401 |
|
|
|
2402 |
|
|
Board: CQ CqREEK SH3 Evaluation Board (cq7708)
|
2403 |
|
|
|
2404 |
|
|
|
2405 |
|
|
Board: CQ CqREEK SH3 Evaluation Board (cq7708)
|
2406 |
|
|
|
2407 |
|
|
CPU: Hitachi SH3/7708 60MHz
|
2408 |
|
|
|
2409 |
|
|
Startup, main stack : stack used 448 size 4112
|
2410 |
|
|
Startup : Interrupt stack used 80 size 4096
|
2411 |
|
|
Startup : Idlethread stack used 96 size 2048
|
2412 |
|
|
|
2413 |
|
|
eCos Kernel Timings
|
2414 |
|
|
Notes: all times are in microseconds (.000001) unless otherwise stated
|
2415 |
|
|
|
2416 |
|
|
Reading the hardware clock takes 2 `ticks' overhead
|
2417 |
|
|
... this value will be factored out of all other measurements
|
2418 |
|
|
Clock interrupt took 19.17 microseconds (71 raw clock ticks)
|
2419 |
|
|
|
2420 |
|
|
Testing parameters:
|
2421 |
|
|
Clock samples: 32
|
2422 |
|
|
Threads: 64
|
2423 |
|
|
Thread switches: 128
|
2424 |
|
|
Mutexes: 32
|
2425 |
|
|
Mailboxes: 32
|
2426 |
|
|
Semaphores: 32
|
2427 |
|
|
Scheduler operations: 128
|
2428 |
|
|
Counters: 32
|
2429 |
|
|
Alarms: 32
|
2430 |
|
|
|
2431 |
|
|
|
2432 |
|
|
Confidence
|
2433 |
|
|
Ave Min Max Var Ave Min Function
|
2434 |
|
|
====== ====== ====== ====== ========== ========
|
2435 |
|
|
20.62 14.40 26.93 3.23 48% 26% Create thread
|
2436 |
|
|
3.16 2.93 4.27 0.09 78% 20% Yield thread [all suspended]
|
2437 |
|
|
2.91 2.40 5.87 0.17 57% 1% Suspend [suspended] thread
|
2438 |
|
|
2.73 2.40 6.40 0.19 64% 15% Resume thread
|
2439 |
|
|
4.05 3.73 11.47 0.27 62% 90% Set priority
|
2440 |
|
|
0.82 0.27 2.67 0.17 56% 3% Get priority
|
2441 |
|
|
9.07 8.53 24.27 0.51 78% 71% Kill [suspended] thread
|
2442 |
|
|
3.19 2.93 7.20 0.14 70% 28% Yield [no other] thread
|
2443 |
|
|
5.45 4.53 17.87 0.49 78% 17% Resume [suspended low prio] thread
|
2444 |
|
|
2.67 2.40 5.07 0.15 56% 28% Resume [runnable low prio] thread
|
2445 |
|
|
4.95 4.27 11.47 0.28 82% 14% Suspend [runnable] thread
|
2446 |
|
|
3.15 2.93 4.53 0.11 73% 25% Yield [only low prio] thread
|
2447 |
|
|
2.82 2.40 5.60 0.21 84% 10% Suspend [runnable->not runnable]
|
2448 |
|
|
8.92 8.00 24.27 0.51 84% 14% Kill [runnable] thread
|
2449 |
|
|
5.10 4.53 12.00 0.27 59% 39% Destroy [dead] thread
|
2450 |
|
|
11.81 10.93 37.33 0.81 87% 95% Destroy [runnable] thread
|
2451 |
|
|
22.15 20.80 54.67 1.27 92% 92% Resume [high priority] thread
|
2452 |
|
|
6.85 6.67 13.60 0.19 99% 50% Thread switch
|
2453 |
|
|
|
2454 |
|
|
0.27 0.27 1.07 0.01 99% 99% Scheduler lock
|
2455 |
|
|
1.74 1.60 2.67 0.14 99% 50% Scheduler unlock [0 threads]
|
2456 |
|
|
1.74 1.60 2.93 0.14 99% 50% Scheduler unlock [1 suspended]
|
2457 |
|
|
1.81 1.60 4.27 0.11 72% 26% Scheduler unlock [many suspended]
|
2458 |
|
|
1.75 1.60 4.00 0.15 50% 49% Scheduler unlock [many low prio]
|
2459 |
|
|
|
2460 |
|
|
1.22 1.07 4.27 0.23 96% 78% Init mutex
|
2461 |
|
|
3.18 2.93 7.20 0.27 96% 53% Lock [unlocked] mutex
|
2462 |
|
|
3.40 3.20 8.00 0.31 96% 96% Unlock [locked] mutex
|
2463 |
|
|
2.77 2.40 5.87 0.22 87% 9% Trylock [unlocked] mutex
|
2464 |
|
|
2.35 2.13 3.47 0.14 65% 31% Trylock [locked] mutex
|
2465 |
|
|
0.78 0.53 2.67 0.14 68% 28% Destroy mutex
|
2466 |
|
|
22.80 22.40 28.80 0.51 96% 71% Unlock/Lock mutex
|
2467 |
|
|
|
2468 |
|
|
2.61 2.40 6.13 0.26 96% 62% Create mbox
|
2469 |
|
|
0.52 0.27 1.60 0.19 40% 37% Peek [empty] mbox
|
2470 |
|
|
3.54 3.20 7.73 0.35 93% 78% Put [first] mbox
|
2471 |
|
|
0.50 0.27 1.60 0.17 46% 37% Peek [1 msg] mbox
|
2472 |
|
|
3.62 3.20 6.93 0.34 59% 65% Put [second] mbox
|
2473 |
|
|
0.52 0.27 2.13 0.23 31% 43% Peek [2 msgs] mbox
|
2474 |
|
|
3.93 3.47 10.13 0.43 65% 65% Get [first] mbox
|
2475 |
|
|
3.92 3.47 7.47 0.40 56% 56% Get [second] mbox
|
2476 |
|
|
3.37 2.93 6.93 0.36 59% 68% Tryput [first] mbox
|
2477 |
|
|
3.30 2.67 6.93 0.38 84% 40% Peek item [non-empty] mbox
|
2478 |
|
|
3.93 3.47 9.33 0.44 65% 71% Tryget [non-empty] mbox
|
2479 |
|
|
2.94 2.67 6.13 0.25 43% 43% Peek item [empty] mbox
|
2480 |
|
|
3.23 2.93 6.67 0.27 56% 84% Tryget [empty] mbox
|
2481 |
|
|
0.58 0.27 2.67 0.20 62% 21% Waiting to get mbox
|
2482 |
|
|
0.55 0.27 1.87 0.14 62% 21% Waiting to put mbox
|
2483 |
|
|
3.82 3.47 9.87 0.39 96% 93% Delete mbox
|
2484 |
|
|
13.35 12.80 21.33 0.50 87% 78% Put/Get mbox
|
2485 |
|
|
|
2486 |
|
|
1.22 1.07 2.93 0.19 96% 59% Init semaphore
|
2487 |
|
|
2.42 2.13 4.27 0.12 81% 15% Post [0] semaphore
|
2488 |
|
|
2.96 2.67 5.07 0.16 68% 21% Wait [1] semaphore
|
2489 |
|
|
2.37 2.13 4.53 0.17 62% 34% Trywait [0] semaphore
|
2490 |
|
|
2.29 2.13 3.47 0.17 96% 53% Trywait [1] semaphore
|
2491 |
|
|
0.66 0.53 2.13 0.17 96% 68% Peek semaphore
|
2492 |
|
|
0.81 0.53 2.93 0.13 75% 21% Destroy semaphore
|
2493 |
|
|
14.47 14.13 21.33 0.43 96% 96% Post/Wait semaphore
|
2494 |
|
|
|
2495 |
|
|
1.44 1.07 3.47 0.29 56% 71% Create counter
|
2496 |
|
|
0.62 0.27 1.07 0.14 62% 3% Get counter value
|
2497 |
|
|
0.56 0.27 1.60 0.17 50% 25% Set counter value
|
2498 |
|
|
3.39 3.20 4.27 0.16 53% 40% Tick counter
|
2499 |
|
|
0.83 0.53 1.87 0.14 68% 15% Delete counter
|
2500 |
|
|
|
2501 |
|
|
2.02 1.87 4.00 0.21 93% 68% Create alarm
|
2502 |
|
|
5.06 4.27 11.73 0.46 78% 18% Initialize alarm
|
2503 |
|
|
0.73 0.27 2.40 0.22 84% 3% Disable alarm
|
2504 |
|
|
4.82 4.27 11.47 0.48 81% 65% Enable alarm
|
2505 |
|
|
1.19 0.80 3.47 0.22 87% 9% Delete alarm
|
2506 |
|
|
3.63 3.47 5.60 0.20 96% 59% Tick counter [1 alarm]
|
2507 |
|
|
15.01 14.93 16.53 0.13 87% 87% Tick counter [many alarms]
|
2508 |
|
|
5.50 5.33 8.00 0.22 96% 65% Tick & fire counter [1 alarm]
|
2509 |
|
|
74.27 74.13 76.80 0.21 96% 78% Tick & fire counters [>1 together]
|
2510 |
|
|
16.90 16.53 19.47 0.23 81% 15% Tick & fire counters [>1 separately]
|
2511 |
|
|
16.70 16.53 36.27 0.33 98% 98% Alarm latency [0 threads]
|
2512 |
|
|
17.85 16.53 34.40 0.47 73% 0% Alarm latency [2 threads]
|
2513 |
|
|
63.26 58.40 80.00 2.64 52% 32% Alarm latency [many threads]
|
2514 |
|
|
30.37 29.33 124.80 1.68 98% 97% Alarm -> thread resume latency
|
2515 |
|
|
|
2516 |
|
|
7.37 5.07 17.87 0.00 Clock/interrupt latency
|
2517 |
|
|
|
2518 |
|
|
9.00 4.53 26.93 0.00 Clock DSR latency
|
2519 |
|
|
|
2520 |
|
|
106 0 376 (main stack: 764) Thread stack used (992 total)
|
2521 |
|
|
All done, main stack : stack used 764 size 4112
|
2522 |
|
|
All done : Interrupt stack used 176 size 4096
|
2523 |
|
|
All done : Idlethread stack used 352 size 2048
|
2524 |
|
|
|
2525 |
|
|
Timing complete - 30310 ms total
|
2526 |
|
|
|
2527 |
|
|
PASS:<Basic timing OK>
|
2528 |
|
|
EXIT:<done>
|
2529 |
|
|
|
2530 |
|
|
|
2531 |
|
|
|
2532 |
|
|
|
2533 |
|
|
|
2534 |
|
|
|
2535 |
|
|
|
2536 |
|
|
Board: Hitachi HS7729PCI HS7729 SH3
|
2537 |
|
|
|
2538 |
|
|
|
2539 |
|
|
Board: Hitachi HS7729PCI HS7729 SH3
|
2540 |
|
|
|
2541 |
|
|
CPU: Hitachi SH3/7729 132MHz
|
2542 |
|
|
|
2543 |
|
|
|
2544 |
|
|
Startup, main stack : stack used 464 size 4112
|
2545 |
|
|
Startup : Interrupt stack used 92 size 4096
|
2546 |
|
|
Startup : Idlethread stack used 94 size 2048
|
2547 |
|
|
|
2548 |
|
|
eCos Kernel Timings
|
2549 |
|
|
Notes: all times are in microseconds (.000001) unless otherwise stated
|
2550 |
|
|
|
2551 |
|
|
Reading the hardware clock takes 3 'ticks' overhead
|
2552 |
|
|
... this value will be factored out of all other measurements
|
2553 |
|
|
Clock interrupt took 18.10 microseconds (149 raw clock ticks)
|
2554 |
|
|
|
2555 |
|
|
Testing parameters:
|
2556 |
|
|
Clock samples: 32
|
2557 |
|
|
Threads: 64
|
2558 |
|
|
Thread switches: 128
|
2559 |
|
|
Mutexes: 32
|
2560 |
|
|
Mailboxes: 32
|
2561 |
|
|
Semaphores: 32
|
2562 |
|
|
Scheduler operations: 128
|
2563 |
|
|
Counters: 32
|
2564 |
|
|
Alarms: 32
|
2565 |
|
|
|
2566 |
|
|
|
2567 |
|
|
Confidence
|
2568 |
|
|
Ave Min Max Var Ave Min Function
|
2569 |
|
|
====== ====== ====== ====== ========== ========
|
2570 |
|
|
18.33 15.52 28.24 1.47 53% 28% Create thread
|
2571 |
|
|
3.08 2.91 6.79 0.13 78% 89% Yield thread [all suspended]
|
2572 |
|
|
3.23 3.03 6.18 0.16 59% 70% Suspend [suspended] thread
|
2573 |
|
|
2.70 2.55 6.18 0.15 54% 82% Resume thread
|
2574 |
|
|
4.12 4.00 7.52 0.16 96% 81% Set priority
|
2575 |
|
|
0.61 0.48 1.33 0.07 57% 28% Get priority
|
2576 |
|
|
9.14 8.61 18.91 0.42 85% 57% Kill [suspended] thread
|
2577 |
|
|
3.04 2.91 4.48 0.07 68% 20% Yield [no other] thread
|
2578 |
|
|
5.12 4.73 7.88 0.29 60% 53% Resume [suspended low prio] thread
|
2579 |
|
|
2.54 2.42 3.03 0.09 39% 40% Resume [runnable low prio] thread
|
2580 |
|
|
5.00 4.36 9.45 0.21 75% 1% Suspend [runnable] thread
|
2581 |
|
|
3.04 2.91 4.61 0.07 65% 21% Yield [only low prio] thread
|
2582 |
|
|
2.91 2.79 3.27 0.08 43% 31% Suspend [runnable->not runnable]
|
2583 |
|
|
8.82 8.12 15.39 0.36 68% 29% Kill [runnable] thread
|
2584 |
|
|
5.07 4.48 12.73 0.37 76% 50% Destroy [dead] thread
|
2585 |
|
|
11.17 10.55 22.91 0.52 78% 67% Destroy [runnable] thread
|
2586 |
|
|
22.43 21.45 32.73 0.61 81% 50% Resume [high priority] thread
|
2587 |
|
|
7.99 7.88 13.58 0.14 98% 86% Thread switch
|
2588 |
|
|
|
2589 |
|
|
0.37 0.36 1.33 0.02 97% 97% Scheduler lock
|
2590 |
|
|
1.74 1.70 2.06 0.06 70% 70% Scheduler unlock [0 threads]
|
2591 |
|
|
1.75 1.70 2.06 0.07 92% 64% Scheduler unlock [1 suspended]
|
2592 |
|
|
1.71 1.70 2.42 0.03 89% 89% Scheduler unlock [many suspended]
|
2593 |
|
|
1.76 1.70 3.64 0.08 96% 64% Scheduler unlock [many low prio]
|
2594 |
|
|
|
2595 |
|
|
4.23 3.88 10.67 0.41 96% 93% Unlock [locked] mutex
|
2596 |
|
|
3.12 2.91 6.91 0.29 96% 87% Trylock [unlocked] mutex
|
2597 |
|
|
2.54 2.42 2.91 0.11 18% 46% Trylock [locked] mutex
|
2598 |
|
|
0.88 0.73 3.15 0.14 65% 96% Destroy mutex
|
2599 |
|
|
22.33 22.06 25.94 0.23 81% 62% Unlock/Lock mutex
|
2600 |
|
|
|
2601 |
|
|
1.92 1.82 4.73 0.19 96% 93% Create mbox
|
2602 |
|
|
0.61 0.48 1.70 0.15 84% 75% Peek [empty] mbox
|
2603 |
|
|
4.00 3.64 9.45 0.36 96% 87% Put [first] mbox
|
2604 |
|
|
0.30 0.24 0.73 0.09 84% 75% Peek [1 msg] mbox
|
2605 |
|
|
3.82 3.64 6.67 0.22 90% 84% Put [second] mbox
|
2606 |
|
|
0.32 0.24 1.33 0.12 81% 81% Peek [2 msgs] mbox
|
2607 |
|
|
4.19 3.76 9.21 0.34 84% 50% Get [first] mbox
|
2608 |
|
|
3.91 3.76 5.21 0.16 84% 75% Get [second] mbox
|
2609 |
|
|
3.51 3.27 8.12 0.34 93% 87% Tryput [first] mbox
|
2610 |
|
|
3.25 2.91 7.15 0.30 62% 56% Peek item [non-empty] mbox
|
2611 |
|
|
3.86 3.52 8.73 0.37 93% 84% Tryget [non-empty] mbox
|
2612 |
|
|
2.87 2.79 3.76 0.12 84% 71% Peek item [empty] mbox
|
2613 |
|
|
3.15 3.03 4.24 0.10 46% 40% Tryget [empty] mbox
|
2614 |
|
|
0.34 0.24 1.33 0.10 43% 46% Waiting to get mbox
|
2615 |
|
|
0.36 0.24 1.45 0.09 53% 37% Waiting to put mbox
|
2616 |
|
|
4.49 4.24 10.91 0.41 96% 96% Delete mbox
|
2617 |
|
|
12.67 12.36 19.52 0.43 96% 96% Put/Get mbox
|
2618 |
|
|
|
2619 |
|
|
0.87 0.85 1.45 0.05 93% 93% Init semaphore
|
2620 |
|
|
2.74 2.55 4.48 0.18 50% 50% Post [0] semaphore
|
2621 |
|
|
3.39 3.15 4.24 0.14 78% 50% Wait [1] semaphore
|
2622 |
|
|
2.62 2.42 5.33 0.21 96% 65% Trywait [0] semaphore
|
2623 |
|
|
2.76 2.67 3.27 0.08 46% 43% Trywait [1] semaphore
|
2624 |
|
|
1.09 0.85 2.91 0.19 68% 56% Peek semaphore
|
2625 |
|
|
0.97 0.73 3.39 0.17 90% 65% Destroy semaphore
|
2626 |
|
|
13.09 12.85 16.12 0.19 84% 65% Post/Wait semaphore
|
2627 |
|
|
|
2628 |
|
|
1.57 1.45 3.88 0.15 96% 93% Create counter
|
2629 |
|
|
0.91 0.73 2.18 0.16 46% 68% Get counter value
|
2630 |
|
|
0.55 0.48 0.97 0.09 90% 62% Set counter value
|
2631 |
|
|
4.19 4.00 5.82 0.13 84% 75% Tick counter
|
2632 |
|
|
0.87 0.73 3.15 0.16 93% 93% Delete counter
|
2633 |
|
|
|
2634 |
|
|
2.50 2.30 5.21 0.18 81% 90% Create alarm
|
2635 |
|
|
6.16 5.70 12.97 0.47 96% 71% Initialize alarm
|
2636 |
|
|
0.50 0.36 1.70 0.11 62% 34% Disable alarm
|
2637 |
|
|
5.16 4.85 8.73 0.29 78% 78% Enable alarm
|
2638 |
|
|
1.18 1.09 2.30 0.12 84% 65% Delete alarm
|
2639 |
|
|
5.22 5.09 7.39 0.14 96% 93% Tick counter [1 alarm]
|
2640 |
|
|
52.37 52.12 52.73 0.20 37% 56% Tick counter [many alarms]
|
2641 |
|
|
6.73 6.55 8.24 0.13 78% 68% Tick & fire counter [1 alarm]
|
2642 |
|
|
108.65 108.61 109.21 0.07 87% 87% Tick & fire counters [>1 together]
|
2643 |
|
|
54.25 54.06 54.79 0.11 65% 18% Tick & fire counters [>1 separately]
|
2644 |
|
|
17.36 17.09 29.82 0.23 82% 57% Alarm latency [0 threads]
|
2645 |
|
|
19.75 17.09 28.00 1.65 46% 40% Alarm latency [2 threads]
|
2646 |
|
|
39.02 34.06 50.67 2.00 53% 15% Alarm latency [many threads]
|
2647 |
|
|
29.31 28.36 105.09 1.27 98% 97% Alarm -> thread resume latency
|
2648 |
|
|
|
2649 |
|
|
5.08 3.88 11.15 0.00 Clock/interrupt latency
|
2650 |
|
|
|
2651 |
|
|
7.32 5.09 16.73 0.00 Clock DSR latency
|
2652 |
|
|
|
2653 |
|
|
6 0 380 (main stack: 820) Thread stack used (992 total)
|
2654 |
|
|
All done, main stack : stack used 820 size 4112
|
2655 |
|
|
All done : Interrupt stack used 196 size 4096
|
2656 |
|
|
All done : Idlethread stack used 360 size 2048
|
2657 |
|
|
|
2658 |
|
|
Timing complete - 29960 ms total
|
2659 |
|
|
PASS:<Basic timing OK>
|
2660 |
|
|
EXIT:<done>
|
2661 |
|
|
|
2662 |
|
|
|
2663 |
|
|
|
2664 |
|
|
|
2665 |
|
|
|
2666 |
|
|
Board: Hitachi Solution Engine 7751 SH4 (se7751)
|
2667 |
|
|
Board: Hitachi Solution Engine 7751 SH4 (se7751)
|
2668 |
|
|
|
2669 |
|
|
CPU: Hitachi SH4/7751 162MHz
|
2670 |
|
|
|
2671 |
|
|
|
2672 |
|
|
Startup, main stack : stack used 464 size 4112
|
2673 |
|
|
Startup : Interrupt stack used 92 size 4096
|
2674 |
|
|
Startup : Idlethread stack used 94 size 2048
|
2675 |
|
|
|
2676 |
|
|
|
2677 |
|
|
eCos Kernel Timings
|
2678 |
|
|
Notes: all times are in microseconds (.000001) unless otherwise stated
|
2679 |
|
|
|
2680 |
|
|
|
2681 |
|
|
Reading the hardware clock takes 1 `ticks' overhead
|
2682 |
|
|
... this value will be factored out of all other measurements
|
2683 |
|
|
Clock interrupt took 14.27 microseconds (96 raw clock ticks)
|
2684 |
|
|
|
2685 |
|
|
|
2686 |
|
|
Testing parameters:
|
2687 |
|
|
Clock samples: 32
|
2688 |
|
|
Threads: 64
|
2689 |
|
|
Thread switches: 128
|
2690 |
|
|
Mutexes: 32
|
2691 |
|
|
Mailboxes: 32
|
2692 |
|
|
Semaphores: 32
|
2693 |
|
|
Scheduler operations: 128
|
2694 |
|
|
Counters: 32
|
2695 |
|
|
Alarms: 32
|
2696 |
|
|
|
2697 |
|
|
Confidence
|
2698 |
|
|
Ave Min Max Var Ave Min Function
|
2699 |
|
|
====== ====== ====== ====== ========== ========
|
2700 |
|
|
8.06 5.63 12.15 1.37 46% 29% Create thread
|
2701 |
|
|
1.15 1.04 5.19 0.15 98% 98% Yield thread [all suspended]
|
2702 |
|
|
1.13 0.89 5.04 0.27 89% 62% Suspend [suspended] thread
|
2703 |
|
|
1.11 0.89 5.19 0.26 89% 71% Resume thread
|
2704 |
|
|
1.45 1.19 3.56 0.23 53% 53% Set priority
|
2705 |
|
|
0.21 0.15 1.19 0.10 90% 79% Get priority
|
2706 |
|
|
4.15 3.56 13.04 0.53 68% 64% Kill [suspended] thread
|
2707 |
|
|
1.12 1.04 3.70 0.12 98% 70% Yield [no other] thread
|
2708 |
|
|
1.75 1.33 8.00 0.38 59% 65% Resume [suspended low prio] thread
|
2709 |
|
|
1.10 0.89 4.59 0.25 87% 73% Resume [runnable low prio] thread
|
2710 |
|
|
1.59 1.33 5.93 0.33 81% 79% Suspend [runnable] thread
|
2711 |
|
|
1.13 1.04 4.30 0.13 98% 71% Yield [only low prio] thread
|
2712 |
|
|
1.09 0.89 3.56 0.21 89% 70% Suspend [runnable->not runnable]
|
2713 |
|
|
4.96 4.30 11.70 0.44 68% 39% Kill [runnable] thread
|
2714 |
|
|
1.95 1.48 8.00 0.34 75% 57% Destroy [dead] thread
|
2715 |
|
|
4.41 3.85 10.37 0.47 53% 57% Destroy [runnable] thread
|
2716 |
|
|
13.15 11.41 23.85 1.11 73% 39% Resume [high priority] thread
|
2717 |
|
|
3.10 2.96 6.22 0.11 41% 39% Thread switch
|
2718 |
|
|
|
2719 |
|
|
0.13 0.00 1.33 0.06 74% 21% Scheduler lock
|
2720 |
|
|
0.76 0.74 1.78 0.03 96% 96% Scheduler unlock [0 threads]
|
2721 |
|
|
0.76 0.74 1.78 0.03 96% 96% Scheduler unlock [1 suspended]
|
2722 |
|
|
0.77 0.74 2.67 0.05 95% 95% Scheduler unlock [many suspended]
|
2723 |
|
|
0.76 0.74 2.37 0.04 95% 95% Scheduler unlock [many low prio]
|
2724 |
|
|
|
2725 |
|
|
0.52 0.15 2.67 0.26 65% 34% Init mutex
|
2726 |
|
|
1.23 1.04 5.63 0.32 93% 93% Lock [unlocked] mutex
|
2727 |
|
|
1.45 1.19 5.33 0.31 90% 87% Unlock [locked] mutex
|
2728 |
|
|
1.13 0.89 4.15 0.28 90% 84% Trylock [unlocked] mutex
|
2729 |
|
|
1.00 0.89 2.96 0.17 87% 87% Trylock [locked] mutex
|
2730 |
|
|
0.37 0.30 1.78 0.13 90% 84% Destroy mutex
|
2731 |
|
|
9.09 8.59 12.59 0.43 71% 71% Unlock/Lock mutex
|
2732 |
|
|
0.93 0.59 4.30 0.40 84% 71% Create mbox
|
2733 |
|
|
0.26 0.00 1.19 0.17 71% 59% Peek [empty] mbox
|
2734 |
|
|
3.03 2.52 6.37 0.47 50% 59% Put [first] mbox
|
2735 |
|
|
0.23 0.00 0.74 0.14 68% 15% Peek [1 msg] mbox
|
2736 |
|
|
2.93 2.52 4.74 0.46 71% 59% Put [second] mbox
|
2737 |
|
|
0.22 0.00 0.59 0.13 68% 15% Peek [2 msgs] mbox
|
2738 |
|
|
2.07 1.63 5.93 0.37 84% 59% Get [first] mbox
|
2739 |
|
|
2.06 1.63 4.74 0.34 78% 59% Get [second] mbox
|
2740 |
|
|
1.48 1.04 5.48 0.37 62% 53% Tryput [first] mbox
|
2741 |
|
|
1.31 1.04 4.89 0.32 96% 75% Peek item [non-empty] mbox
|
2742 |
|
|
1.47 1.04 5.78 0.38 84% 65% Tryget [non-empty] mbox
|
2743 |
|
|
1.15 0.89 3.11 0.18 71% 56% Peek item [empty] mbox
|
2744 |
|
|
1.20 1.04 3.85 0.21 93% 84% Tryget [empty] mbox
|
2745 |
|
|
0.21 0.00 0.74 0.14 68% 18% Waiting to get mbox
|
2746 |
|
|
0.19 0.00 0.44 0.10 43% 15% Waiting to put mbox
|
2747 |
|
|
2.19 1.93 5.78 0.27 93% 71% Delete mbox
|
2748 |
|
|
10.23 9.93 11.56 0.15 53% 37% Put/Get mbox
|
2749 |
|
|
|
2750 |
|
|
0.37 0.15 1.33 0.26 71% 71% Init semaphore
|
2751 |
|
|
0.98 0.89 2.52 0.13 96% 68% Post [0] semaphore
|
2752 |
|
|
1.08 0.89 3.26 0.15 68% 93% Wait [1] semaphore
|
2753 |
|
|
0.98 0.89 3.41 0.16 93% 93% Trywait [0] semaphore
|
2754 |
|
|
0.73 0.59 1.63 0.07 71% 25% Trywait [1] semaphore
|
2755 |
|
|
0.33 0.30 1.33 0.07 93% 93% Peek semaphore
|
2756 |
|
|
0.34 0.30 1.78 0.09 96% 96% Destroy semaphore
|
2757 |
|
|
9.36 8.74 10.37 0.33 56% 31% Post/Wait semaphore
|
2758 |
|
|
|
2759 |
|
|
0.54 0.15 3.26 0.23 59% 37% Create counter
|
2760 |
|
|
0.13 0.00 0.59 0.07 68% 25% Get counter value
|
2761 |
|
|
0.14 0.00 0.59 0.07 68% 25% Set counter value
|
2762 |
|
|
3.74 3.56 5.33 0.17 53% 75% Tick counter
|
2763 |
|
|
0.32 0.15 2.07 0.12 71% 21% Delete counter
|
2764 |
|
|
|
2765 |
|
|
1.59 1.19 3.11 0.29 71% 43% Create alarm
|
2766 |
|
|
1.89 1.48 6.37 0.44 87% 78% Initialize alarm
|
2767 |
|
|
0.20 0.15 0.74 0.09 87% 84% Disable alarm
|
2768 |
|
|
1.62 1.33 5.63 0.41 87% 84% Enable alarm
|
2769 |
|
|
0.40 0.30 1.33 0.13 87% 62% Delete alarm
|
2770 |
|
|
|
2771 |
|
|
4.03 3.70 5.78 0.27 68% 56% Tick counter [1 alarm]
|
2772 |
|
|
14.18 13.93 15.70 0.27 81% 75% Tick counter [many alarms]
|
2773 |
|
|
4.81 4.59 5.93 0.13 81% 15% Tick & fire counter [1 alarm]
|
2774 |
|
|
30.77 30.52 33.63 0.20 75% 65% Tick & fire counters [>1 together]
|
2775 |
|
|
15.10 14.52 17.04 0.23 71% 3% Tick & fire counters [>1 separately]
|
2776 |
|
|
8.78 8.59 18.22 0.20 97% 89% Alarm latency [0 threads]
|
2777 |
|
|
11.29 9.33 17.48 1.02 56% 22% Alarm latency [2 threads]
|
2778 |
|
|
18.70 15.70 26.37 1.45 54% 22% Alarm latency [many threads]
|
2779 |
|
|
19.40 18.81 57.48 0.65 97% 97% Alarm -> thread resume latency
|
2780 |
|
|
|
2781 |
|
|
4.18 2.81 8.89 0.00 Clock/interrupt latency
|
2782 |
|
|
|
2783 |
|
|
3.98 2.52 11.56 0.00 Clock DSR latency
|
2784 |
|
|
|
2785 |
|
|
6 0 380 (main stack: 728) Thread stack used (992 total)
|
2786 |
|
|
All done, main stack : stack used 728 size 4112
|
2787 |
|
|
All done : Interrupt stack used 196 size 4096
|
2788 |
|
|
All done : Idlethread stack used 360 size 2048
|
2789 |
|
|
|
2790 |
|
|
Timing complete - 29790 ms total
|
2791 |
|
|
|
2792 |
|
|
PASS:<Basic timing OK>
|
2793 |
|
|
EXIT:<done>
|
2794 |
|
|
|
2795 |
|
|
|
2796 |
|
|
Board: PC
|
2797 |
|
|
Board: PC
|
2798 |
|
|
|
2799 |
|
|
CPU: 433MHz Celeron
|
2800 |
|
|
|
2801 |
|
|
Startup, main stack : stack used 124 size 2912
|
2802 |
|
|
Startup : Interrupt stack used 280 size 4108
|
2803 |
|
|
Startup : Idlethread stack used 62 size 2048
|
2804 |
|
|
|
2805 |
|
|
eCos Kernel Timings
|
2806 |
|
|
Notes: all times are in microseconds (.000001) unless otherwise stated
|
2807 |
|
|
|
2808 |
|
|
Reading the hardware clock takes 8 'ticks' overhead
|
2809 |
|
|
... this value will be factored out of all other measurements
|
2810 |
|
|
Clock interrupt took 6.75 microseconds (8 raw clock ticks)
|
2811 |
|
|
|
2812 |
|
|
Testing parameters:
|
2813 |
|
|
Clock samples: 32
|
2814 |
|
|
Threads: 64
|
2815 |
|
|
Thread switches: 128
|
2816 |
|
|
Mutexes: 32
|
2817 |
|
|
Mailboxes: 32
|
2818 |
|
|
Semaphores: 32
|
2819 |
|
|
Scheduler operations: 128
|
2820 |
|
|
Counters: 32
|
2821 |
|
|
Alarms: 32
|
2822 |
|
|
|
2823 |
|
|
|
2824 |
|
|
Confidence
|
2825 |
|
|
Ave Min Max Var Ave Min Function
|
2826 |
|
|
====== ====== ====== ====== ========== ========
|
2827 |
|
|
3.93 1.68 8.38 0.93 68% 3% Create thread
|
2828 |
|
|
0.71 0.00 3.35 0.84 59% 59% Yield thread [all suspended]
|
2829 |
|
|
0.65 0.00 5.03 0.84 64% 64% Suspend [suspended] thread
|
2830 |
|
|
0.63 0.00 1.68 0.79 62% 62% Resume thread
|
2831 |
|
|
0.76 0.00 1.68 0.83 54% 54% Set priority
|
2832 |
|
|
0.39 0.00 1.68 0.60 76% 76% Get priority
|
2833 |
|
|
1.34 0.00 6.70 0.67 73% 25% Kill [suspended] thread
|
2834 |
|
|
0.68 0.00 1.68 0.81 59% 59% Yield [no other] thread
|
2835 |
|
|
0.92 0.00 1.68 0.83 54% 45% Resume [suspended low prio] thread
|
2836 |
|
|
0.63 0.00 1.68 0.79 62% 62% Resume [runnable low prio] thread
|
2837 |
|
|
0.84 0.00 1.68 0.84 100% 50% Suspend [runnable] thread
|
2838 |
|
|
0.73 0.00 1.68 0.82 56% 56% Yield [only low prio] thread
|
2839 |
|
|
0.58 0.00 1.68 0.76 65% 65% Suspend [runnable->not runnable]
|
2840 |
|
|
1.26 0.00 3.35 0.67 71% 26% Kill [runnable] thread
|
2841 |
|
|
0.86 0.00 3.35 0.86 98% 50% Destroy [dead] thread
|
2842 |
|
|
1.44 0.00 1.68 0.40 85% 14% Destroy [runnable] thread
|
2843 |
|
|
4.45 3.35 6.70 0.89 53% 40% Resume [high priority] thread
|
2844 |
|
|
1.62 0.00 1.68 0.10 96% 3% Thread switch
|
2845 |
|
|
|
2846 |
|
|
0.41 0.00 1.68 0.61 75% 75% Scheduler lock
|
2847 |
|
|
0.48 0.00 1.68 0.69 71% 71% Scheduler unlock [0 threads]
|
2848 |
|
|
0.59 0.00 1.68 0.76 64% 64% Scheduler unlock [1 suspended]
|
2849 |
|
|
0.45 0.00 1.68 0.65 73% 73% Scheduler unlock [many suspended]
|
2850 |
|
|
0.45 0.00 1.68 0.65 73% 73% Scheduler unlock [many low prio]
|
2851 |
|
|
|
2852 |
|
|
0.52 0.00 1.68 0.72 68% 68% Init mutex
|
2853 |
|
|
0.79 0.00 5.03 0.93 96% 59% Lock [unlocked] mutex
|
2854 |
|
|
0.84 0.00 5.03 0.94 96% 56% Unlock [locked] mutex
|
2855 |
|
|
0.63 0.00 1.68 0.79 62% 62% Trylock [unlocked] mutex
|
2856 |
|
|
0.52 0.00 1.68 0.72 68% 68% Trylock [locked] mutex
|
2857 |
|
|
0.58 0.00 1.68 0.76 65% 65% Destroy mutex
|
2858 |
|
|
3.40 3.35 5.03 0.10 96% 96% Unlock/Lock mutex
|
2859 |
|
|
|
2860 |
|
|
0.99 0.00 1.68 0.81 59% 40% Create mbox
|
2861 |
|
|
0.47 0.00 1.68 0.68 71% 71% Peek [empty] mbox
|
2862 |
|
|
0.79 0.00 5.03 0.93 96% 59% Put [first] mbox
|
2863 |
|
|
0.42 0.00 1.68 0.63 75% 75% Peek [1 msg] mbox
|
2864 |
|
|
0.79 0.00 1.68 0.83 53% 53% Put [second] mbox
|
2865 |
|
|
0.37 0.00 1.68 0.57 78% 78% Peek [2 msgs] mbox
|
2866 |
|
|
0.73 0.00 3.35 0.87 59% 59% Get [first] mbox
|
2867 |
|
|
0.73 0.00 1.68 0.82 56% 56% Get [second] mbox
|
2868 |
|
|
0.79 0.00 3.35 0.88 56% 56% Tryput [first] mbox
|
2869 |
|
|
0.68 0.00 3.35 0.85 62% 62% Peek item [non-empty] mbox
|
2870 |
|
|
0.73 0.00 3.35 0.87 59% 59% Tryget [non-empty] mbox
|
2871 |
|
|
0.63 0.00 1.68 0.79 62% 62% Peek item [empty] mbox
|
2872 |
|
|
0.68 0.00 1.68 0.81 59% 59% Tryget [empty] mbox
|
2873 |
|
|
0.26 0.00 1.68 0.44 84% 84% Waiting to get mbox
|
2874 |
|
|
0.63 0.00 1.68 0.79 62% 62% Waiting to put mbox
|
2875 |
|
|
0.73 0.00 3.35 0.87 59% 59% Delete mbox
|
2876 |
|
|
3.25 1.68 3.35 0.20 93% 6% Put/Get mbox
|
2877 |
|
|
|
2878 |
|
|
0.63 0.00 1.68 0.79 62% 62% Init semaphore
|
2879 |
|
|
0.63 0.00 1.68 0.79 62% 62% Post [0] semaphore
|
2880 |
|
|
0.63 0.00 1.68 0.79 62% 62% Wait [1] semaphore
|
2881 |
|
|
0.52 0.00 1.68 0.72 68% 68% Trywait [0] semaphore
|
2882 |
|
|
0.52 0.00 1.68 0.72 68% 68% Trywait [1] semaphore
|
2883 |
|
|
0.52 0.00 1.68 0.72 68% 68% Peek semaphore
|
2884 |
|
|
0.21 0.00 1.68 0.37 87% 87% Destroy semaphore
|
2885 |
|
|
3.30 1.68 3.35 0.10 96% 3% Post/Wait semaphore
|
2886 |
|
|
|
2887 |
|
|
0.79 0.00 3.35 0.88 56% 56% Create counter
|
2888 |
|
|
0.42 0.00 1.68 0.63 75% 75% Get counter value
|
2889 |
|
|
0.37 0.00 1.68 0.57 78% 78% Set counter value
|
2890 |
|
|
0.73 0.00 1.68 0.82 56% 56% Tick counter
|
2891 |
|
|
0.63 0.00 1.68 0.79 62% 62% Delete counter
|
2892 |
|
|
|
2893 |
|
|
0.89 0.00 3.35 0.89 96% 50% Create alarm
|
2894 |
|
|
0.84 0.00 1.68 0.84 100% 50% Initialize alarm
|
2895 |
|
|
0.52 0.00 1.68 0.72 68% 68% Disable alarm
|
2896 |
|
|
0.89 0.00 3.35 0.89 96% 50% Enable alarm
|
2897 |
|
|
0.58 0.00 1.68 0.76 65% 65% Delete alarm
|
2898 |
|
|
0.63 0.00 1.68 0.79 62% 62% Tick counter [1 alarm]
|
2899 |
|
|
5.03 3.35 6.70 0.10 93% 3% Tick counter [many alarms]
|
2900 |
|
|
0.94 0.00 1.68 0.82 56% 43% Tick & fire counter [1 alarm]
|
2901 |
|
|
11.16 10.06 11.73 0.76 65% 34% Tick & fire counters [>1 together]
|
2902 |
|
|
5.19 5.03 6.70 0.28 90% 90% Tick & fire counters [>1 separately]
|
2903 |
|
|
0.01 0.00 1.68 0.03 99% 99% Alarm latency [0 threads]
|
2904 |
|
|
0.13 0.00 1.68 0.24 92% 92% Alarm latency [2 threads]
|
2905 |
|
|
0.94 0.00 3.35 0.85 53% 45% Alarm latency [many threads]
|
2906 |
|
|
1.75 1.68 6.70 0.15 96% 96% Alarm -> thread resume latency
|
2907 |
|
|
|
2908 |
|
|
41 0 368 (main stack: 1036) Thread stack used (1712 total)
|
2909 |
|
|
All done, main stack : stack used 1036 size 2912
|
2910 |
|
|
All done : Interrupt stack used 368 size 4108
|
2911 |
|
|
All done : Idlethread stack used 288 size 2048
|
2912 |
|
|
|
2913 |
|
|
Timing complete - 28520 ms total
|
2914 |
|
|
|
2915 |
|
|
PASS:<Basic timing OK>
|
2916 |
|
|
EXIT:<done>
|
2917 |
|
|
|
2918 |
|
|
|
2919 |
|
|
|
2920 |
|
|
|
2921 |
|
|
Board: NEC V850 Cosmo Evaluation Board
|
2922 |
|
|
Board: NEC V850 Cosmo Evaluation Board
|
2923 |
|
|
|
2924 |
|
|
CPU: NEC CEB-V850/SA1 17MHz
|
2925 |
|
|
|
2926 |
|
|
Startup, main stack : stack used 552 size 2936
|
2927 |
|
|
Startup : Interrupt stack used 120 size 4096
|
2928 |
|
|
Startup : Idlethread stack used 206 size 2048
|
2929 |
|
|
|
2930 |
|
|
eCos Kernel Timings
|
2931 |
|
|
Notes: all times are in microseconds (.000001) unless otherwise stated
|
2932 |
|
|
|
2933 |
|
|
Reading the hardware clock takes 27 `ticks' overhead
|
2934 |
|
|
... this value will be factored out of all other measurements
|
2935 |
|
|
Clock interrupt took 280.04 microseconds (1190 raw clock ticks)
|
2936 |
|
|
|
2937 |
|
|
Testing parameters:
|
2938 |
|
|
Clock samples: 32
|
2939 |
|
|
Threads: 7
|
2940 |
|
|
Thread switches: 128
|
2941 |
|
|
Mutexes: 32
|
2942 |
|
|
Mailboxes: 32
|
2943 |
|
|
Semaphores: 32
|
2944 |
|
|
Scheduler operations: 128
|
2945 |
|
|
Counters: 32
|
2946 |
|
|
Alarms: 32
|
2947 |
|
|
|
2948 |
|
|
|
2949 |
|
|
Confidence
|
2950 |
|
|
Ave Min Max Var Ave Min Function
|
2951 |
|
|
====== ====== ====== ====== ========== ========
|
2952 |
|
|
288.71 280.24 297.18 4.84 42% 28% Create thread
|
2953 |
|
|
70.76 70.59 70.82 0.10 71% 28% Yield thread [all suspended]
|
2954 |
|
|
59.06 59.06 59.06 0.00 100% 100% Suspend [suspended] thread
|
2955 |
|
|
60.00 60.00 60.00 0.00 100% 100% Resume thread
|
2956 |
|
|
77.38 77.18 77.41 0.06 85% 14% Set priority
|
2957 |
|
|
3.13 3.06 3.29 0.10 71% 71% Get priority
|
2958 |
|
|
187.46 187.29 187.53 0.10 71% 28% Kill [suspended] thread
|
2959 |
|
|
70.76 70.59 70.82 0.10 71% 28% Yield [no other] thread
|
2960 |
|
|
104.40 103.29 104.71 0.32 85% 14% Resume [suspended low prio] thread
|
2961 |
|
|
59.06 59.06 59.06 0.00 100% 100% Resume [runnable low prio] thread
|
2962 |
|
|
97.11 91.06 98.12 1.73 85% 14% Suspend [runnable] thread
|
2963 |
|
|
70.76 70.59 70.82 0.10 71% 28% Yield [only low prio] thread
|
2964 |
|
|
59.06 59.06 59.06 0.00 100% 100% Suspend [runnable->not runnable]
|
2965 |
|
|
187.46 187.29 187.53 0.10 71% 28% Kill [runnable] thread
|
2966 |
|
|
95.63 95.29 97.18 0.44 85% 85% Destroy [dead] thread
|
2967 |
|
|
241.28 236.94 242.12 1.24 85% 14% Destroy [runnable] thread
|
2968 |
|
|
378.55 370.35 427.06 13.86 85% 85% Resume [high priority] thread
|
2969 |
|
|
198.77 183.76 452.94 18.77 96% 96% Thread switch
|
2970 |
|
|
|
2971 |
|
|
2.59 2.59 2.59 0.00 100% 100% Scheduler lock
|
2972 |
|
|
41.29 41.18 41.41 0.12 100% 50% Scheduler unlock [0 threads]
|
2973 |
|
|
40.82 40.71 40.94 0.12 100% 50% Scheduler unlock [1 suspended]
|
2974 |
|
|
41.29 41.18 41.41 0.12 100% 50% Scheduler unlock [many suspended]
|
2975 |
|
|
41.29 41.18 41.41 0.12 100% 50% Scheduler unlock [many low prio]
|
2976 |
|
|
|
2977 |
|
|
17.94 17.88 18.12 0.09 75% 75% Init mutex
|
2978 |
|
|
68.71 68.71 68.71 0.00 100% 100% Lock [unlocked] mutex
|
2979 |
|
|
72.10 72.00 73.41 0.15 96% 71% Unlock [locked] mutex
|
2980 |
|
|
57.88 57.88 57.88 0.00 100% 100% Trylock [unlocked] mutex
|
2981 |
|
|
52.24 52.24 52.24 0.00 100% 100% Trylock [locked] mutex
|
2982 |
|
|
12.41 12.24 12.47 0.09 75% 25% Destroy mutex
|
2983 |
|
|
427.06 427.06 427.06 0.00 100% 100% Unlock/Lock mutex
|
2984 |
|
|
|
2985 |
|
|
|
2986 |
|
|
34.94 34.82 35.06 0.12 100% 50% Create mbox
|
2987 |
|
|
0.76 0.71 0.94 0.09 75% 75% Peek [empty] mbox
|
2988 |
|
|
75.29 75.29 75.29 0.00 100% 100% Put [first] mbox
|
2989 |
|
|
1.24 1.18 1.41 0.09 75% 75% Peek [1 msg] mbox
|
2990 |
|
|
75.76 75.76 75.76 0.00 100% 100% Put [second] mbox
|
2991 |
|
|
0.76 0.71 0.94 0.09 75% 75% Peek [2 msgs] mbox
|
2992 |
|
|
80.12 80.00 80.24 0.12 100% 50% Get [first] mbox
|
2993 |
|
|
79.65 79.53 79.76 0.12 100% 50% Get [second] mbox
|
2994 |
|
|
70.12 70.12 70.12 0.00 100% 100% Tryput [first] mbox
|
2995 |
|
|
65.76 65.65 65.88 0.12 100% 50% Peek item [non-empty] mbox
|
2996 |
|
|
78.00 77.88 78.12 0.12 100% 50% Tryget [non-empty] mbox
|
2997 |
|
|
63.12 63.06 63.29 0.09 75% 75% Peek item [empty] mbox
|
2998 |
|
|
67.82 67.76 68.00 0.09 75% 75% Tryget [empty] mbox
|
2999 |
|
|
1.94 1.88 2.12 0.09 75% 75% Waiting to get mbox
|
3000 |
|
|
1.47 1.41 1.65 0.09 75% 75% Waiting to put mbox
|
3001 |
|
|
75.59 75.53 75.76 0.09 75% 75% Delete mbox
|
3002 |
|
|
252.76 252.71 252.94 0.09 75% 75% Put/Get mbox
|
3003 |
|
|
|
3004 |
|
|
20.24 20.24 20.24 0.00 100% 100% Init semaphore
|
3005 |
|
|
54.35 54.35 54.35 0.00 100% 100% Post [0] semaphore
|
3006 |
|
|
66.59 66.59 66.59 0.00 100% 100% Wait [1] semaphore
|
3007 |
|
|
52.24 52.24 52.24 0.00 100% 100% Trywait [0] semaphore
|
3008 |
|
|
53.41 53.41 53.41 0.00 100% 100% Trywait [1] semaphore
|
3009 |
|
|
10.65 10.59 10.82 0.09 75% 75% Peek semaphore
|
3010 |
|
|
12.65 12.47 12.71 0.09 75% 25% Destroy semaphore
|
3011 |
|
|
276.94 276.94 276.94 0.00 100% 100% Post/Wait semaphore
|
3012 |
|
|
|
3013 |
|
|
14.94 14.82 15.06 0.12 100% 50% Create counter
|
3014 |
|
|
2.18 2.12 2.35 0.09 75% 75% Get counter value
|
3015 |
|
|
3.06 3.06 3.06 0.00 100% 100% Set counter value
|
3016 |
|
|
78.12 78.12 78.12 0.00 100% 100% Tick counter
|
3017 |
|
|
13.82 13.65 13.88 0.09 75% 25% Delete counter
|
3018 |
|
|
|
3019 |
|
|
26.94 26.82 27.06 0.12 100% 50% Create alarm
|
3020 |
|
|
104.18 104.00 104.24 0.09 75% 25% Initialize alarm
|
3021 |
|
|
7.65 7.53 7.76 0.12 100% 50% Disable alarm
|
3022 |
|
|
104.94 104.94 104.94 0.00 100% 100% Enable alarm
|
3023 |
|
|
19.47 19.29 19.53 0.09 75% 25% Delete alarm
|
3024 |
|
|
88.53 88.47 88.71 0.09 75% 75% Tick counter [1 alarm]
|
3025 |
|
|
418.61 411.29 645.41 14.17 96% 96% Tick counter [many alarms]
|
3026 |
|
|
139.59 139.53 139.76 0.09 75% 75% Tick & fire counter [1 alarm]
|
3027 |
|
|
2150.21 2096.71 2367.53 83.59 78% 78% Tick & fire counters [>1 together]
|
3028 |
|
|
478.15 462.35 733.41 29.61 93% 93% Tick & fire counters [>1 separately]
|
3029 |
|
|
219.89 218.59 369.88 2.34 99% 99% Alarm latency [0 threads]
|
3030 |
|
|
292.11 218.59 371.53 37.85 50% 25% Alarm latency [2 threads]
|
3031 |
|
|
292.96 218.59 370.59 38.12 49% 25% Alarm latency [many threads]
|
3032 |
|
|
540.90 495.76 1677.41 17.76 98% 0% Alarm -> thread resume latency
|
3033 |
|
|
|
3034 |
|
|
79.01 78.59 104.71 0.00 Clock/interrupt latency
|
3035 |
|
|
|
3036 |
|
|
123.41 85.88 1982.82 0.00 Clock DSR latency
|
3037 |
|
|
|
3038 |
|
|
522 516 536 (main stack: 1124) Thread stack used (1912 total)
|
3039 |
|
|
All done, main stack : stack used 1124 size 2936
|
3040 |
|
|
All done : Interrupt stack used 288 size 4096
|
3041 |
|
|
All done : Idlethread stack used 488 size 2048
|
3042 |
|
|
|
3043 |
|
|
Timing complete - 32540 ms total
|
3044 |
|
|
|
3045 |
|
|
|
3046 |
|
|
|
3047 |
|
|
|
3048 |
|
|
Board: NEC V850 Cosmo Evaluation Board
|
3049 |
|
|
Board: NEC V850 Cosmo Evaluation Board
|
3050 |
|
|
|
3051 |
|
|
CPU: NEC CEB-V850/SB1 16MHz (in internal Flash)
|
3052 |
|
|
|
3053 |
|
|
|
3054 |
|
|
Startup, main stack : stack used 572 size 2936
|
3055 |
|
|
Startup : Interrupt stack used 132 size 4096
|
3056 |
|
|
Startup : Idlethread stack used 210 size 2048
|
3057 |
|
|
|
3058 |
|
|
eCos Kernel Timings
|
3059 |
|
|
Notes: all times are in microseconds (.000001) unless otherwise stated
|
3060 |
|
|
|
3061 |
|
|
Reading the hardware clock takes 8 'ticks' overhead
|
3062 |
|
|
... this value will be factored out of all other measurements
|
3063 |
|
|
Clock interrupt took 118.15 microseconds (472 raw clock ticks)
|
3064 |
|
|
|
3065 |
|
|
Testing parameters:
|
3066 |
|
|
Clock samples: 32
|
3067 |
|
|
Threads: 7
|
3068 |
|
|
Thread switches: 128
|
3069 |
|
|
Mutexes: 32
|
3070 |
|
|
Mailboxes: 32
|
3071 |
|
|
Semaphores: 32
|
3072 |
|
|
Scheduler operations: 128
|
3073 |
|
|
Counters: 32
|
3074 |
|
|
Alarms: 32
|
3075 |
|
|
|
3076 |
|
|
|
3077 |
|
|
Confidence
|
3078 |
|
|
Ave Min Max Var Ave Min Function
|
3079 |
|
|
====== ====== ====== ====== ========== ========
|
3080 |
|
|
113.68 111.00 116.50 1.63 42% 28% Create thread
|
3081 |
|
|
30.00 30.00 30.00 0.00 100% 100% Yield thread [all suspended]
|
3082 |
|
|
29.57 29.50 29.75 0.10 71% 71% Suspend [suspended] thread
|
3083 |
|
|
27.43 27.25 27.50 0.10 71% 28% Resume thread
|
3084 |
|
|
34.11 34.00 34.25 0.12 57% 57% Set priority
|
3085 |
|
|
1.57 1.50 1.75 0.10 71% 71% Get priority
|
3086 |
|
|
72.96 72.75 73.00 0.06 85% 14% Kill [suspended] thread
|
3087 |
|
|
30.00 30.00 30.00 0.00 100% 100% Yield [no other] thread
|
3088 |
|
|
42.75 42.75 42.75 0.00 100% 100% Resume [suspended low prio] thread
|
3089 |
|
|
27.00 27.00 27.00 0.00 100% 100% Resume [runnable low prio] thread
|
3090 |
|
|
43.64 41.25 44.25 0.68 85% 14% Suspend [runnable] thread
|
3091 |
|
|
30.00 30.00 30.00 0.00 100% 100% Yield [only low prio] thread
|
3092 |
|
|
29.57 29.50 29.75 0.10 71% 71% Suspend [runnable->not runnable]
|
3093 |
|
|
72.93 72.75 73.00 0.10 71% 28% Kill [runnable] thread
|
3094 |
|
|
44.89 44.75 45.75 0.24 85% 85% Destroy [dead] thread
|
3095 |
|
|
103.00 101.50 103.25 0.43 85% 14% Destroy [runnable] thread
|
3096 |
|
|
175.21 171.50 197.50 6.37 85% 85% Resume [high priority] thread
|
3097 |
|
|
84.11 79.50 197.25 1.77 98% 0% Thread switch
|
3098 |
|
|
|
3099 |
|
|
1.00 1.00 1.00 0.00 100% 100% Scheduler lock
|
3100 |
|
|
20.06 20.00 20.25 0.09 75% 75% Scheduler unlock [0 threads]
|
3101 |
|
|
20.00 20.00 20.00 0.00 100% 100% Scheduler unlock [1 suspended]
|
3102 |
|
|
20.06 20.00 20.25 0.09 75% 75% Scheduler unlock [many suspended]
|
3103 |
|
|
20.06 20.00 20.25 0.09 75% 75% Scheduler unlock [many low prio]
|
3104 |
|
|
|
3105 |
|
|
4.00 4.00 4.00 0.00 100% 100% Init mutex
|
3106 |
|
|
33.00 33.00 33.00 0.00 100% 100% Lock [unlocked] mutex
|
3107 |
|
|
36.77 36.75 37.25 0.03 96% 96% Unlock [locked] mutex
|
3108 |
|
|
28.13 28.00 28.25 0.13 100% 50% Trylock [unlocked] mutex
|
3109 |
|
|
25.13 25.00 25.25 0.13 100% 50% Trylock [locked] mutex
|
3110 |
|
|
4.88 4.75 5.00 0.13 100% 50% Destroy mutex
|
3111 |
|
|
187.00 187.00 187.00 0.00 100% 100% Unlock/Lock mutex
|
3112 |
|
|
|
3113 |
|
|
10.00 10.00 10.00 0.00 100% 100% Create mbox
|
3114 |
|
|
0.69 0.50 0.75 0.09 75% 25% Peek [empty] mbox
|
3115 |
|
|
34.75 34.75 34.75 0.00 100% 100% Put [first] mbox
|
3116 |
|
|
0.69 0.50 0.75 0.09 75% 25% Peek [1 msg] mbox
|
3117 |
|
|
35.00 35.00 35.00 0.00 100% 100% Put [second] mbox
|
3118 |
|
|
0.69 0.50 0.75 0.09 75% 25% Peek [2 msgs] mbox
|
3119 |
|
|
36.00 36.00 36.00 0.00 100% 100% Get [first] mbox
|
3120 |
|
|
36.00 36.00 36.00 0.00 100% 100% Get [second] mbox
|
3121 |
|
|
31.00 31.00 31.00 0.00 100% 100% Tryput [first] mbox
|
3122 |
|
|
29.50 29.50 29.50 0.00 100% 100% Peek item [non-empty] mbox
|
3123 |
|
|
35.25 35.25 35.25 0.00 100% 100% Tryget [non-empty] mbox
|
3124 |
|
|
27.69 27.50 27.75 0.09 75% 25% Peek item [empty] mbox
|
3125 |
|
|
31.06 31.00 31.25 0.09 75% 75% Tryget [empty] mbox
|
3126 |
|
|
0.94 0.75 1.00 0.09 75% 25% Waiting to get mbox
|
3127 |
|
|
0.94 0.75 1.00 0.09 75% 25% Waiting to put mbox
|
3128 |
|
|
37.81 37.75 38.00 0.09 75% 75% Delete mbox
|
3129 |
|
|
112.00 112.00 112.00 0.00 100% 100% Put/Get mbox
|
3130 |
|
|
|
3131 |
|
|
3.19 3.00 3.25 0.09 75% 25% Init semaphore
|
3132 |
|
|
25.38 25.25 25.50 0.13 100% 50% Post [0] semaphore
|
3133 |
|
|
32.63 32.50 32.75 0.13 100% 50% Wait [1] semaphore
|
3134 |
|
|
24.25 24.25 24.25 0.00 100% 100% Trywait [0] semaphore
|
3135 |
|
|
25.00 25.00 25.00 0.00 100% 100% Trywait [1] semaphore
|
3136 |
|
|
4.00 4.00 4.00 0.00 100% 100% Peek semaphore
|
3137 |
|
|
4.88 4.75 5.00 0.13 100% 50% Destroy semaphore
|
3138 |
|
|
124.50 124.50 124.50 0.00 100% 100% Post/Wait semaphore
|
3139 |
|
|
|
3140 |
|
|
6.50 6.50 6.50 0.00 100% 100% Create counter
|
3141 |
|
|
1.25 1.25 1.25 0.00 100% 100% Get counter value
|
3142 |
|
|
1.44 1.25 1.50 0.09 75% 25% Set counter value
|
3143 |
|
|
36.25 36.25 36.25 0.00 100% 100% Tick counter
|
3144 |
|
|
5.25 5.25 5.25 0.00 100% 100% Delete counter
|
3145 |
|
|
|
3146 |
|
|
12.25 12.25 12.25 0.00 100% 100% Create alarm
|
3147 |
|
|
49.13 49.00 49.25 0.13 100% 50% Initialize alarm
|
3148 |
|
|
2.81 2.75 3.00 0.09 75% 75% Disable alarm
|
3149 |
|
|
48.50 48.50 48.50 0.00 100% 100% Enable alarm
|
3150 |
|
|
8.25 8.25 8.25 0.00 100% 100% Delete alarm
|
3151 |
|
|
46.50 46.50 46.50 0.00 100% 100% Tick counter [1 alarm]
|
3152 |
|
|
485.42 482.25 580.00 5.91 96% 96% Tick counter [many alarms]
|
3153 |
|
|
64.00 64.00 64.00 0.00 100% 100% Tick & fire counter [1 alarm]
|
3154 |
|
|
1109.76 1100.50 1198.00 16.53 90% 90% Tick & fire counters [>1 together]
|
3155 |
|
|
505.85 502.00 621.00 7.20 96% 96% Tick & fire counters [>1 separately]
|
3156 |
|
|
96.26 95.75 161.25 1.02 99% 99% Alarm latency [0 threads]
|
3157 |
|
|
159.20 95.75 160.75 2.52 97% 0% Alarm latency [2 threads]
|
3158 |
|
|
159.73 110.50 161.75 1.53 97% 0% Alarm latency [many threads]
|
3159 |
|
|
218.45 211.25 445.75 3.55 97% 1% Alarm -> thread resume latency
|
3160 |
|
|
|
3161 |
|
|
28.24 25.25 43.25 0.00 Clock/interrupt latency
|
3162 |
|
|
|
3163 |
|
|
60.15 40.50 221.50 0.00 Clock DSR latency
|
3164 |
|
|
|
3165 |
|
|
472 424 572 (main stack: 1052) Thread stack used (1912 total)
|
3166 |
|
|
All done, main stack : stack used 1052 size 2936
|
3167 |
|
|
All done : Interrupt stack used 280 size 4096
|
3168 |
|
|
All done : Idlethread stack used 516 size 2048
|
3169 |
|
|
|
3170 |
|
|
Timing complete - 30590 ms total
|
3171 |
|
|
|
3172 |
|
|
PASS:<Basic timing OK>
|
3173 |
|
|
EXIT:<done>
|
3174 |
|
|
|
3175 |
|
|
|
3176 |
|
|
|
3177 |
|
|
|