]> git.kernelconcepts.de Git - karo-tx-redboot.git/blob - doc/html/user-guide/real-time-characterization.html
Initial revision
[karo-tx-redboot.git] / doc / html / user-guide / real-time-characterization.html
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.               -->
9 <HTML
10 ><HEAD
11 ><TITLE
12 >Real-time characterization</TITLE
13 ><meta name="MSSmartTagsPreventParsing" content="TRUE">
14 <META
15 NAME="GENERATOR"
16 CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
17 "><LINK
18 REL="HOME"
19 TITLE="eCos User Guide"
20 HREF="ecos-user-guide.html"><LINK
21 REL="UP"
22 TITLE="Appendixes"
23 HREF="appendices.html"><LINK
24 REL="PREVIOUS"
25 TITLE="i386/Linux Synthetic Target Setup"
26 HREF="setup-synth-i386linux.html"><LINK
27 REL="NEXT"
28 TITLE="Board: Atmel AT91/EB40"
29 HREF="rt-at91-eb40.html"></HEAD
30 ><BODY
31 CLASS="APPENDIX"
32 BGCOLOR="#FFFFFF"
33 TEXT="#000000"
34 LINK="#0000FF"
35 VLINK="#840084"
36 ALINK="#0000FF"
37 ><DIV
38 CLASS="NAVHEADER"
39 ><TABLE
40 SUMMARY="Header navigation table"
41 WIDTH="100%"
42 BORDER="0"
43 CELLPADDING="0"
44 CELLSPACING="0"
45 ><TR
46 ><TH
47 COLSPAN="3"
48 ALIGN="center"
49 >eCos User Guide</TH
50 ></TR
51 ><TR
52 ><TD
53 WIDTH="10%"
54 ALIGN="left"
55 VALIGN="bottom"
56 ><A
57 HREF="setup-synth-i386linux.html"
58 ACCESSKEY="P"
59 >Prev</A
60 ></TD
61 ><TD
62 WIDTH="80%"
63 ALIGN="center"
64 VALIGN="bottom"
65 ></TD
66 ><TD
67 WIDTH="10%"
68 ALIGN="right"
69 VALIGN="bottom"
70 ><A
71 HREF="rt-at91-eb40.html"
72 ACCESSKEY="N"
73 >Next</A
74 ></TD
75 ></TR
76 ></TABLE
77 ><HR
78 ALIGN="LEFT"
79 WIDTH="100%"></DIV
80 ><DIV
81 CLASS="APPENDIX"
82 ><H1
83 ><A
84 NAME="REAL-TIME-CHARACTERIZATION">Appendix B. Real-time characterization</H1
85 ><DIV
86 CLASS="TOC"
87 ><DL
88 ><DT
89 ><B
90 >Table of Contents</B
91 ></DT
92 ><DT
93 ><A
94 HREF="real-time-characterization.html#RT-ARM-AEB1"
95 >Board: ARM AEB-1 Revision B Evaluation Board</A
96 ></DT
97 ><DT
98 ><A
99 HREF="rt-at91-eb40.html"
100 >Board: Atmel AT91/EB40</A
101 ></DT
102 ><DT
103 ><A
104 HREF="rt-arm-ebsa285.html"
105 >Board: Intel StrongARM EBSA-285 Evaluation Board</A
106 ></DT
107 ><DT
108 ><A
109 HREF="rt-arm-ep7211.html"
110 >Board: Cirrus Logic EDB7111-2 Development Board</A
111 ></DT
112 ><DT
113 ><A
114 HREF="rt-arm-pid.html"
115 >Board: ARM PID Evaluation Board</A
116 ></DT
117 ><DT
118 ><A
119 HREF="rt-arm-iq80310.html"
120 >Board: Intel IQ80310 XScale Development Kit</A
121 ></DT
122 ><DT
123 ><A
124 HREF="rt-tx39-jmr3904.html"
125 >Board: Toshiba JMR3904 Evaluation Board</A
126 ></DT
127 ><DT
128 ><A
129 HREF="rt-tx49-ref4955.html"
130 >Board: Toshiba REF 4955</A
131 ></DT
132 ><DT
133 ><A
134 HREF="rt-mn10300-stdeval1.html"
135 >Board: Matsushita STDEVAL1 Board</A
136 ></DT
137 ><DT
138 ><A
139 HREF="rt-sparclite-sleb.html"
140 >Board: Fujitsu SPARClite Evaluation Board</A
141 ></DT
142 ><DT
143 ><A
144 HREF="rt-ppc-cogent.html"
145 >Board: Cogent CMA MPC860 (PowerPC) Evaluation</A
146 ></DT
147 ><DT
148 ><A
149 HREF="rt-vr4300-vrc4373.html"
150 >Board: NEC VR4373</A
151 ></DT
152 ><DT
153 ><A
154 HREF="rt-arm-assabet.html"
155 >Board: Intel SA1110 (Assabet)</A
156 ></DT
157 ><DT
158 ><A
159 HREF="rt-arm-brutus.html"
160 >Board: Intel SA1100 (Brutus)</A
161 ></DT
162 ><DT
163 ><A
164 HREF="rt-ppc-mbx860.html"
165 >Board: Motorola MBX</A
166 ></DT
167 ><DT
168 ><A
169 HREF="rt-sh-edk7708.html"
170 >Board: Hitachi EDK7708</A
171 ></DT
172 ><DT
173 ><A
174 HREF="rt-sh-cq7708.html"
175 >Board: CQ CqREEK SH3 Evaluation Board (cq7708)</A
176 ></DT
177 ><DT
178 ><A
179 HREF="rt-sh-hs7729pci.html"
180 >Board: Hitachi HS7729PCI HS7729 SH3</A
181 ></DT
182 ><DT
183 ><A
184 HREF="rt-sh-se7751.html"
185 >Board: Hitachi Solution Engine 7751 SH4 (se7751)</A
186 ></DT
187 ><DT
188 ><A
189 HREF="rt-i386-pc.html"
190 >Board: PC</A
191 ></DT
192 ><DT
193 ><A
194 HREF="rt-v850-cebsa1.html"
195 >Board: NEC V850 Cosmo Evaluation Board</A
196 ></DT
197 ><DT
198 ><A
199 HREF="rt-v850-cebsb1.html"
200 >Board: NEC V850 Cosmo Evaluation Board</A
201 ></DT
202 ></DL
203 ></DIV
204 ><P
205 >For a discussion of real-time performance measurement for eCos, see the eCos 
206 Users' Guide.</P
207 ><DIV
208 CLASS="CAUTION"
209 ><P
210 ></P
211 ><TABLE
212 CLASS="CAUTION"
213 BORDER="1"
214 WIDTH="100%"
215 ><TR
216 ><TD
217 ALIGN="CENTER"
218 ><B
219 >Caution</B
220 ></TD
221 ></TR
222 ><TR
223 ><TD
224 ALIGN="LEFT"
225 ><P
226 >As with the target setup descriptions in the previous appendix, this
227 information will eventually be merged into per-target documents.</P
228 ></TD
229 ></TR
230 ></TABLE
231 ></DIV
232 ><P
233 >       Sample numbers:
234       </P
235 ><DIV
236 CLASS="SECT1"
237 ><H1
238 CLASS="SECT1"
239 ><A
240 NAME="RT-ARM-AEB1">Board: ARM AEB-1 Revision B Evaluation Board</H1
241 ><TABLE
242 BORDER="5"
243 BGCOLOR="#E0E0F0"
244 WIDTH="70%"
245 ><TR
246 ><TD
247 ><PRE
248 CLASS="LITERALLAYOUT"
249 >&#13;Board: ARM AEB-1 Revision B Evaluation Board
250
251 CPU : Sharp LH77790A 24MHz
252
253
254
255 Startup, main stack             : stack used   404 size  2400
256 Startup              :  Interrupt stack used   128 size  2048
257 Startup              : Idlethread stack used    80 size  2048
258
259 eCos Kernel Timings
260 Notes: all times are in microseconds (.000001) unless otherwise stated
261
262 Reading the hardware clock takes 13 'ticks' overhead
263 ... this value will be factored out of all other measurements
264 Clock interrupt took  193.49 microseconds (290 raw clock ticks)
265
266 Testing parameters:
267    Clock samples:            32
268    Threads:                   7
269    Thread switches:         128
270    Mutexes:                  32
271    Mailboxes:                32
272    Semaphores:               32
273    Scheduler operations:    128
274    Counters:                 32
275    Alarms:                   32
276
277
278                                  Confidence
279      Ave     Min     Max     Var  Ave  Min  Function
280   ======  ======  ======  ====== ========== ========
281   110.19  104.67  116.00    3.26   42%  28% Create thread
282    34.00   34.00   34.00    0.00  100% 100% Yield thread [all suspended]
283    24.67   24.67   24.67    0.00  100% 100% Suspend [suspended] thread
284    25.05   24.67   25.33    0.33   57%  42% Resume thread
285    37.14   36.67   37.33    0.27   71%  28% Set priority
286     3.81    3.33    4.00    0.27   71%  28% Get priority
287    80.00   80.00   80.00    0.00  100% 100% Kill [suspended] thread
288    33.90   33.33   34.00    0.16   85%  14% Yield [no other] thread
289    45.90   44.00   46.67    0.54   57%  14% Resume [suspended low prio] thread
290    24.57   24.00   24.67    0.16   85%  14% Resume [runnable low prio] thread
291    42.29   36.67   43.33    1.61   85%  14% Suspend [runnable] thread
292    33.90   33.33   34.00    0.16   85%  14% Yield [only low prio] thread
293    24.67   24.67   24.67    0.00  100% 100% Suspend [runnable-&#62;not runnable]
294    80.00   80.00   80.00    0.00  100% 100% Kill [runnable] thread
295    43.33   43.33   43.33    0.00  100% 100% Destroy [dead] thread
296   106.29  101.33  107.33    1.41   85%  14% Destroy [runnable] thread
297   144.95  141.33  166.00    6.01   85%  85% Resume [high priority] thread
298    78.31   76.67  254.67    2.75   99%  99% Thread switch
299
300     4.00    4.00    4.00    0.00  100% 100% Scheduler lock
301    16.37   16.00   16.67    0.33   56%  43% Scheduler unlock [0 threads]
302    16.37   16.00   16.67    0.33   56%  43% Scheduler unlock [1 suspended]
303    16.37   16.00   16.67    0.33   56%  43% Scheduler unlock [many suspended]
304    16.37   16.00   16.67    0.33   56%  43% Scheduler unlock [many low prio]
305
306    10.67   10.67   10.67    0.00  100% 100% Init mutex
307    28.67   28.67   28.67    0.00  100% 100% Lock [unlocked] mutex
308    30.44   30.00   31.33    0.33   59%  37% Unlock [locked] mutex
309    25.42   25.33   26.00    0.15   87%  87% Trylock [unlocked] mutex
310    22.50   22.00   22.67    0.25   75%  25% Trylock [locked] mutex
311     5.75    5.33    6.00    0.31   62%  37% Destroy mutex
312   185.33  185.33  185.33    0.00  100% 100% Unlock/Lock mutex
313
314    20.17   20.00   20.67    0.25   75%  75% Create mbox
315     2.92    2.67    3.33    0.31   62%  62% Peek [empty] mbox
316    32.42   32.00   32.67    0.31   62%  37% Put [first] mbox
317     3.00    2.67    3.33    0.33  100%  50% Peek [1 msg] mbox
318    32.50   32.00   32.67    0.25   75%  25% Put [second] mbox
319     2.92    2.67    3.33    0.31   62%  62% Peek [2 msgs] mbox
320    32.83   32.67   33.33    0.25   75%  75% Get [first] mbox
321    32.67   32.67   32.67    0.00  100% 100% Get [second] mbox
322    31.33   31.33   31.33    0.00  100% 100% Tryput [first] mbox
323    27.58   27.33   28.00    0.31   62%  62% Peek item [non-empty] mbox
324    32.83   32.67   33.33    0.25   75%  75% Tryget [non-empty] mbox
325    26.50   26.00   26.67    0.25   75%  25% Peek item [empty] mbox
326    28.00   28.00   28.00    0.00  100% 100% Tryget [empty] mbox
327     3.25    2.67    3.33    0.15   87%  12% Waiting to get mbox
328     3.25    2.67    3.33    0.15   87%  12% Waiting to put mbox
329    30.83   30.67   31.33    0.25   75%  75% Delete mbox
330   101.08  100.67  101.33    0.31   62%  37% Put/Get mbox
331
332    11.17   10.67   11.33    0.25   75%  25% Init semaphore
333    24.17   24.00   24.67    0.25   75%  75% Post [0] semaphore
334    27.08   26.67   27.33    0.31   62%  37% Wait [1] semaphore
335    22.75   22.67   23.33    0.15   87%  87% Trywait [0] semaphore
336    22.21   22.00   22.67    0.29   68%  68% Trywait [1] semaphore
337     7.33    7.33    7.33    0.00  100% 100% Peek semaphore
338     5.92    5.33    6.00    0.15   87%  12% Destroy semaphore
339   110.04  110.00  110.67    0.08   93%  93% Post/Wait semaphore
340
341     9.54    9.33   10.00    0.29   68%  68% Create counter
342     3.92    3.33    4.00    0.15   87%  12% Get counter value
343     4.00    4.00    4.00    0.00  100% 100% Set counter value
344    30.92   30.67   31.33    0.31   62%  62% Tick counter
345     5.75    5.33    6.00    0.31   62%  37% Delete counter
346
347    13.83   13.33   14.00    0.25   75%  25% Create alarm
348    46.67   46.67   46.67    0.00  100% 100% Initialize alarm
349     3.67    3.33    4.00    0.33  100%  50% Disable alarm
350    45.67   45.33   46.00    0.33  100%  50% Enable alarm
351     8.33    8.00    8.67    0.33  100%  50% Delete alarm
352    36.33   36.00   36.67    0.33  100%  50% Tick counter [1 alarm]
353   214.67  214.67  214.67    0.00  100% 100% Tick counter [many alarms]
354    62.67   62.67   62.67    0.00  100% 100% Tick &#38; fire counter [1 alarm]
355  1087.04 1075.33 1278.67   21.91   93%  93% Tick &#38; fire counters [&#62;1 together]
356   246.35  240.67  412.00   10.35   96%  96% Tick &#38; fire counters [&#62;1 separately]
357   168.01  167.33  237.33    1.08   99%  99% Alarm latency [0 threads]
358   187.36  168.00  234.67    3.60   86%   1% Alarm latency [2 threads]
359   187.37  167.33  235.33    3.59   85%   1% Alarm latency [many threads]
360   303.12  280.00  508.67    3.21   98%   0% Alarm -&#62; thread resume latency
361
362    36.65   36.00   38.67    0.00            Clock/interrupt latency
363
364    65.79   52.00  152.67    0.00            Clock DSR latency
365
366   316     316     316  (main stack:   752)  Thread stack used (1120 total)
367 All done, main stack            : stack used   752 size  2400
368 All done             :  Interrupt stack used   280 size  2048
369 All done             : Idlethread stack used   268 size  2048
370
371 Timing complete - 30390 ms total
372
373 PASS:&lt;Basic timing OK&#62;
374 EXIT:&lt;done&#62;
375
376         </PRE
377 ></TD
378 ></TR
379 ></TABLE
380 ></DIV
381 ></DIV
382 ><DIV
383 CLASS="NAVFOOTER"
384 ><HR
385 ALIGN="LEFT"
386 WIDTH="100%"><TABLE
387 SUMMARY="Footer navigation table"
388 WIDTH="100%"
389 BORDER="0"
390 CELLPADDING="0"
391 CELLSPACING="0"
392 ><TR
393 ><TD
394 WIDTH="33%"
395 ALIGN="left"
396 VALIGN="top"
397 ><A
398 HREF="setup-synth-i386linux.html"
399 ACCESSKEY="P"
400 >Prev</A
401 ></TD
402 ><TD
403 WIDTH="34%"
404 ALIGN="center"
405 VALIGN="top"
406 ><A
407 HREF="ecos-user-guide.html"
408 ACCESSKEY="H"
409 >Home</A
410 ></TD
411 ><TD
412 WIDTH="33%"
413 ALIGN="right"
414 VALIGN="top"
415 ><A
416 HREF="rt-at91-eb40.html"
417 ACCESSKEY="N"
418 >Next</A
419 ></TD
420 ></TR
421 ><TR
422 ><TD
423 WIDTH="33%"
424 ALIGN="left"
425 VALIGN="top"
426 >i386/Linux Synthetic Target Setup</TD
427 ><TD
428 WIDTH="34%"
429 ALIGN="center"
430 VALIGN="top"
431 ><A
432 HREF="appendices.html"
433 ACCESSKEY="U"
434 >Up</A
435 ></TD
436 ><TD
437 WIDTH="33%"
438 ALIGN="right"
439 VALIGN="top"
440 >Board: Atmel AT91/EB40</TD
441 ></TR
442 ></TABLE
443 ></DIV
444 ></BODY
445 ></HTML
446 >