1 <!-- Copyright (C) 2003 Red Hat, Inc. -->
2 <!-- This material may be distributed only subject to the terms -->
3 <!-- and conditions set forth in the Open Publication License, v1.0 -->
4 <!-- or later (the latest version is presently available at -->
5 <!-- http://www.opencontent.org/openpub/). -->
6 <!-- Distribution of the work or derivative of the work in any -->
7 <!-- standard (paper) book form is prohibited unless prior -->
8 <!-- permission is obtained from the copyright holder. -->
12 >Board: ARM PID Evaluation Board</TITLE
13 ><meta name="MSSmartTagsPreventParsing" content="TRUE">
16 CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
19 TITLE="eCos User Guide"
20 HREF="ecos-user-guide.html"><LINK
22 TITLE="Real-time characterization"
23 HREF="real-time-characterization.html"><LINK
25 TITLE="Board: Cirrus Logic EDB7111-2 Development Board"
26 HREF="rt-arm-ep7211.html"><LINK
28 TITLE="Board: Intel IQ80310 XScale Development Kit"
29 HREF="rt-arm-iq80310.html"></HEAD
40 SUMMARY="Header navigation table"
57 HREF="rt-arm-ep7211.html"
65 >Appendix B. Real-time characterization</TD
71 HREF="rt-arm-iq80310.html"
85 NAME="RT-ARM-PID">Board: ARM PID Evaluation Board</H1
91 NAME="AEN4508">CPU : ARM 7TDMI 20 MHz</H2
100 >Board: ARM PID Evaluation Board
102 CPU : ARM 7TDMI 20 MHz
106 Startup, main stack : stack used 404 size 2400
107 Startup : Interrupt stack used 136 size 4096
108 Startup : Idlethread stack used 84 size 2048
111 Notes: all times are in microseconds (.000001) unless otherwise stated
113 Reading the hardware clock takes 6 'ticks' overhead
114 ... this value will be factored out of all other measurements
115 Clock interrupt took 120.74 microseconds (150 raw clock ticks)
124 Scheduler operations: 128
130 Ave Min Max Var Ave Min Function
131 ====== ====== ====== ====== ========== ========
132 99.01 68.00 129.60 15.62 50% 26% Create thread
133 21.60 21.60 21.60 0.00 100% 100% Yield thread [all suspended]
134 15.65 15.20 16.00 0.39 56% 44% Suspend [suspended] thread
135 15.79 15.20 16.00 0.31 74% 26% Resume thread
136 23.65 23.20 24.00 0.39 56% 44% Set priority
137 2.26 1.60 2.40 0.24 82% 18% Get priority
138 51.39 51.20 52.00 0.29 76% 76% Kill [suspended] thread
139 21.60 21.60 21.60 0.00 100% 100% Yield [no other] thread
140 29.47 28.00 29.60 0.22 86% 2% Resume [suspended low prio] thread
141 15.60 15.20 16.00 0.40 100% 50% Resume [runnable low prio] thread
142 27.73 24.00 28.00 0.40 74% 2% Suspend [runnable] thread
143 21.60 21.60 21.60 0.00 100% 100% Yield [only low prio] thread
144 15.65 15.20 16.00 0.39 56% 44% Suspend [runnable->not runnable]
145 51.39 51.20 52.00 0.29 76% 76% Kill [runnable] thread
146 27.66 27.20 28.80 0.41 54% 44% Destroy [dead] thread
147 68.93 64.80 69.60 0.35 72% 2% Destroy [runnable] thread
148 91.26 90.40 107.20 0.64 66% 32% Resume [high priority] thread
149 49.14 48.80 49.60 0.39 57% 57% Thread switch
151 2.20 1.60 2.40 0.30 75% 25% Scheduler lock
152 10.20 9.60 10.40 0.30 75% 25% Scheduler unlock [0 threads]
153 10.20 9.60 10.40 0.30 75% 25% Scheduler unlock [1 suspended]
154 10.20 9.60 10.40 0.30 75% 25% Scheduler unlock [many suspended]
155 10.20 9.60 10.40 0.30 75% 25% Scheduler unlock [many low prio]
157 6.85 6.40 7.20 0.39 56% 43% Init mutex
158 18.40 18.40 18.40 0.00 100% 100% Lock [unlocked] mutex
159 19.57 19.20 20.00 0.40 53% 53% Unlock [locked] mutex
160 16.55 16.00 16.80 0.34 68% 31% Trylock [unlocked] mutex
161 14.55 14.40 15.20 0.24 81% 81% Trylock [locked] mutex
162 3.55 3.20 4.00 0.39 56% 56% Destroy mutex
163 119.85 119.20 120.00 0.24 81% 18% Unlock/Lock mutex
165 12.85 12.80 13.60 0.09 93% 93% Create mbox
166 1.65 1.60 2.40 0.09 93% 93% Peek [empty] mbox
167 20.70 20.00 20.80 0.17 87% 12% Put [first] mbox
168 1.65 1.60 2.40 0.09 93% 93% Peek [1 msg] mbox
169 20.70 20.00 20.80 0.17 87% 12% Put [second] mbox
170 1.65 1.60 2.40 0.09 93% 93% Peek [2 msgs] mbox
171 20.85 20.80 21.60 0.09 93% 93% Get [first] mbox
172 20.85 20.80 21.60 0.09 93% 93% Get [second] mbox
173 19.90 19.20 20.00 0.17 87% 12% Tryput [first] mbox
174 17.60 17.60 17.60 0.00 100% 100% Peek item [non-empty] mbox
175 20.90 20.80 21.60 0.17 87% 87% Tryget [non-empty] mbox
176 16.80 16.80 16.80 0.00 100% 100% Peek item [empty] mbox
177 17.65 17.60 18.40 0.09 93% 93% Tryget [empty] mbox
178 1.85 1.60 2.40 0.34 68% 68% Waiting to get mbox
179 1.85 1.60 2.40 0.34 68% 68% Waiting to put mbox
180 19.40 19.20 20.00 0.30 75% 75% Delete mbox
181 65.05 64.80 65.60 0.34 68% 68% Put/Get mbox
183 7.05 6.40 7.20 0.24 81% 18% Init semaphore
184 15.55 15.20 16.00 0.39 56% 56% Post [0] semaphore
185 17.35 16.80 17.60 0.34 68% 31% Wait [1] semaphore
186 14.60 14.40 15.20 0.30 75% 75% Trywait [0] semaphore
187 14.20 13.60 14.40 0.30 75% 25% Trywait [1] semaphore
188 4.55 4.00 4.80 0.34 68% 31% Peek semaphore
189 3.75 3.20 4.00 0.34 68% 31% Destroy semaphore
190 70.85 70.40 71.20 0.39 56% 43% Post/Wait semaphore
192 6.05 5.60 6.40 0.39 56% 43% Create counter
193 2.25 1.60 2.40 0.24 81% 18% Get counter value
194 2.25 1.60 2.40 0.24 81% 18% Set counter value
195 19.70 19.20 20.00 0.37 62% 37% Tick counter
196 3.45 3.20 4.00 0.34 68% 68% Delete counter
198 9.05 8.80 9.60 0.34 68% 68% Create alarm
199 29.60 29.60 29.60 0.00 100% 100% Initialize alarm
200 2.15 1.60 2.40 0.34 68% 31% Disable alarm
201 29.35 28.80 29.60 0.34 68% 31% Enable alarm
202 5.10 4.80 5.60 0.37 62% 62% Delete alarm
203 23.20 23.20 23.20 0.00 100% 100% Tick counter [1 alarm]
204 138.00 137.60 138.40 0.40 100% 50% Tick counter [many alarms]
205 40.40 40.00 40.80 0.40 100% 50% Tick & fire counter [1 alarm]
206 704.25 697.60 804.00 12.47 93% 93% Tick & fire counters [>1 together]
207 155.20 155.20 155.20 0.00 100% 100% Tick & fire counters [>1 separately]
208 105.20 104.80 151.20 0.76 99% 94% Alarm latency [0 threads]
209 117.57 104.80 149.60 7.13 57% 25% Alarm latency [2 threads]
210 117.49 104.80 148.80 7.10 58% 26% Alarm latency [many threads]
211 192.59 177.60 316.00 1.93 98% 0% Alarm -> thread resume latency
213 22.10 21.60 24.00 0.00 Clock/interrupt latency
215 38.69 32.80 61.60 0.00 Clock DSR latency
217 297 276 316 (main stack: 752) Thread stack used (1120 total)
218 All done, main stack : stack used 752 size 2400
219 All done : Interrupt stack used 288 size 4096
220 All done : Idlethread stack used 272 size 2048
222 Timing complete - 30350 ms total
224 PASS:<Basic timing OK>
237 NAME="AEN4511">CPU : ARM 920T 20 MHz</H2
245 CLASS="LITERALLAYOUT"
246 > Board: ARM PID Evaluation Board
248 CPU : ARM 920T 20 MHz
251 Startup, main stack : stack used 404 size 2400
252 Startup : Interrupt stack used 136 size 4096
253 Startup : Idlethread stack used 84 size 2048
256 Notes: all times are in microseconds (.000001) unless otherwise stated
258 Reading the hardware clock takes 15 'ticks' overhead
259 ... this value will be factored out of all other measurements
260 Clock interrupt took 291.41 microseconds (364 raw clock ticks)
269 Scheduler operations: 128
275 Ave Min Max Var Ave Min Function
276 ====== ====== ====== ====== ========== ========
277 257.78 168.00 568.00 48.70 56% 28% Create thread
278 50.21 49.60 50.40 0.29 76% 24% Yield thread [all suspended]
279 36.26 36.00 36.80 0.35 68% 68% Suspend [suspended] thread
280 37.20 36.80 37.60 0.40 100% 50% Resume thread
281 56.24 56.00 56.80 0.34 70% 70% Set priority
282 5.20 4.80 5.60 0.40 100% 50% Get priority
283 122.75 122.40 123.20 0.39 56% 56% Kill [suspended] thread
284 50.19 49.60 50.40 0.31 74% 26% Yield [no other] thread
285 69.49 66.40 69.60 0.21 92% 2% Resume [suspended low prio] thread
286 37.01 36.80 37.60 0.31 74% 74% Resume [runnable low prio] thread
287 64.75 55.20 65.60 0.38 80% 2% Suspend [runnable] thread
288 50.19 49.60 50.40 0.31 74% 26% Yield [only low prio] thread
289 36.24 36.00 36.80 0.34 70% 70% Suspend [runnable->not runnable]
290 122.75 122.40 123.20 0.39 56% 56% Kill [runnable] thread
291 67.76 67.20 68.00 0.34 70% 30% Destroy [dead] thread
292 167.07 158.40 168.00 0.35 92% 2% Destroy [runnable] thread
293 213.49 212.00 249.60 1.46 84% 90% Resume [high priority] thread
294 122.81 120.00 389.60 4.17 99% 99% Thread switch
296 4.70 4.00 4.80 0.17 87% 12% Scheduler lock
297 23.70 23.20 24.00 0.37 62% 37% Scheduler unlock [0 threads]
298 23.60 23.20 24.00 0.40 100% 50% Scheduler unlock [1 suspended]
299 23.70 23.20 24.00 0.37 62% 37% Scheduler unlock [many suspended]
300 23.60 23.20 24.00 0.40 100% 50% Scheduler unlock [many low prio]
302 15.65 15.20 16.00 0.39 56% 43% Init mutex
303 42.40 42.40 42.40 0.00 100% 100% Lock [unlocked] mutex
304 45.37 44.80 46.40 0.36 65% 31% Unlock [locked] mutex
305 39.20 39.20 39.20 0.00 100% 100% Trylock [unlocked] mutex
306 34.45 34.40 35.20 0.09 93% 93% Trylock [locked] mutex
307 8.00 8.00 8.00 0.00 100% 100% Destroy mutex
308 284.42 284.00 284.80 0.40 53% 46% Unlock/Lock mutex
310 29.40 28.80 29.60 0.30 75% 25% Create mbox
311 3.35 3.20 4.00 0.24 81% 81% Peek [empty] mbox
312 49.35 48.80 49.60 0.34 68% 31% Put [first] mbox
313 3.35 3.20 4.00 0.24 81% 81% Peek [1 msg] mbox
314 49.35 48.80 49.60 0.34 68% 31% Put [second] mbox
315 3.35 3.20 4.00 0.24 81% 81% Peek [2 msgs] mbox
316 49.15 48.80 49.60 0.39 56% 56% Get [first] mbox
317 49.15 48.80 49.60 0.39 56% 56% Get [second] mbox
318 47.80 47.20 48.00 0.30 75% 25% Tryput [first] mbox
319 41.40 40.80 41.60 0.30 75% 25% Peek item [non-empty] mbox
320 49.40 48.80 49.60 0.30 75% 25% Tryget [non-empty] mbox
321 40.15 40.00 40.80 0.24 81% 81% Peek item [empty] mbox
322 40.95 40.80 41.60 0.24 81% 81% Tryget [empty] mbox
323 4.05 4.00 4.80 0.09 93% 93% Waiting to get mbox
324 4.05 4.00 4.80 0.09 93% 93% Waiting to put mbox
325 45.60 45.60 45.60 0.00 100% 100% Delete mbox
326 153.27 152.80 153.60 0.39 59% 40% Put/Get mbox
328 16.80 16.80 16.80 0.00 100% 100% Init semaphore
329 36.60 36.00 36.80 0.30 75% 25% Post [0] semaphore
330 39.60 39.20 40.00 0.40 100% 50% Wait [1] semaphore
331 34.80 34.40 35.20 0.40 100% 50% Trywait [0] semaphore
332 33.35 32.80 33.60 0.34 68% 31% Trywait [1] semaphore
333 10.30 9.60 10.40 0.17 87% 12% Peek semaphore
334 8.80 8.80 8.80 0.00 100% 100% Destroy semaphore
335 166.92 166.40 167.20 0.36 65% 34% Post/Wait semaphore
337 13.60 13.60 13.60 0.00 100% 100% Create counter
338 4.85 4.80 5.60 0.09 93% 93% Get counter value
339 4.80 4.80 4.80 0.00 100% 100% Set counter value
340 45.25 44.80 45.60 0.39 56% 43% Tick counter
341 7.75 7.20 8.00 0.34 68% 31% Delete counter
343 20.80 20.80 20.80 0.00 100% 100% Create alarm
344 69.30 68.80 69.60 0.37 62% 37% Initialize alarm
345 4.80 4.80 4.80 0.00 100% 100% Disable alarm
346 67.35 67.20 68.00 0.24 81% 81% Enable alarm
347 11.80 11.20 12.00 0.30 75% 25% Delete alarm
348 54.80 54.40 55.20 0.40 100% 50% Tick counter [1 alarm]
349 372.35 363.20 652.80 17.53 96% 96% Tick counter [many alarms]
350 95.50 95.20 96.00 0.37 62% 62% Tick & fire counter [1 alarm]
351 1757.92 1707.20 1996.80 81.43 81% 81% Tick & fire counters [>1 together]
352 404.37 404.00 404.80 0.40 53% 53% Tick & fire counters [>1 separately]
353 256.57 254.40 395.20 2.17 98% 97% Alarm latency [0 threads]
354 296.60 255.20 359.20 23.53 53% 31% Alarm latency [2 threads]
355 307.49 265.60 357.60 27.52 53% 53% Alarm latency [many threads]
356 467.04 432.00 788.80 5.03 97% 1% Alarm -> thread resume latency
358 55.63 54.40 60.80 0.00 Clock/interrupt latency
360 101.23 80.80 1433.60 0.00 Clock DSR latency
362 316 316 316 (main stack: 752) Thread stack used (1120 total)
363 All done, main stack : stack used 752 size 2400
364 All done : Interrupt stack used 288 size 4096
365 All done : Idlethread stack used 272 size 2048
367 Timing complete - 30780 ms total
369 PASS:<Basic timing OK>
382 SUMMARY="Footer navigation table"
393 HREF="rt-arm-ep7211.html"
402 HREF="ecos-user-guide.html"
411 HREF="rt-arm-iq80310.html"
421 >Board: Cirrus Logic EDB7111-2 Development Board</TD
427 HREF="real-time-characterization.html"
435 >Board: Intel IQ80310 XScale Development Kit</TD