URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Subversion Repositories openrisc
[/] [openrisc/] [trunk/] [rtos/] [ecos-2.0/] [doc/] [html/] [user-guide/] [real-time-characterization.html] - Rev 174
Compare with Previous | Blame | View Log
<!-- Copyright (C) 2003 Red Hat, Inc. --> <!-- This material may be distributed only subject to the terms --> <!-- and conditions set forth in the Open Publication License, v1.0 --> <!-- or later (the latest version is presently available at --> <!-- http://www.opencontent.org/openpub/). --> <!-- Distribution of the work or derivative of the work in any --> <!-- standard (paper) book form is prohibited unless prior --> <!-- permission is obtained from the copyright holder. --> <HTML ><HEAD ><TITLE >Real-time characterization</TITLE ><meta name="MSSmartTagsPreventParsing" content="TRUE"> <META NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+ "><LINK REL="HOME" TITLE="eCos User Guide" HREF="ecos-user-guide.html"><LINK REL="UP" TITLE="Appendixes" HREF="appendices.html"><LINK REL="PREVIOUS" TITLE="i386/Linux Synthetic Target Setup" HREF="setup-synth-i386linux.html"><LINK REL="NEXT" TITLE="Board: Atmel AT91/EB40" HREF="rt-at91-eb40.html"></HEAD ><BODY CLASS="APPENDIX" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#840084" ALINK="#0000FF" ><DIV CLASS="NAVHEADER" ><TABLE SUMMARY="Header navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TH COLSPAN="3" ALIGN="center" >eCos User Guide</TH ></TR ><TR ><TD WIDTH="10%" ALIGN="left" VALIGN="bottom" ><A HREF="setup-synth-i386linux.html" ACCESSKEY="P" >Prev</A ></TD ><TD WIDTH="80%" ALIGN="center" VALIGN="bottom" ></TD ><TD WIDTH="10%" ALIGN="right" VALIGN="bottom" ><A HREF="rt-at91-eb40.html" ACCESSKEY="N" >Next</A ></TD ></TR ></TABLE ><HR ALIGN="LEFT" WIDTH="100%"></DIV ><DIV CLASS="APPENDIX" ><H1 ><A NAME="REAL-TIME-CHARACTERIZATION">Appendix B. Real-time characterization</H1 ><DIV CLASS="TOC" ><DL ><DT ><B >Table of Contents</B ></DT ><DT ><A HREF="real-time-characterization.html#RT-ARM-AEB1" >Board: ARM AEB-1 Revision B Evaluation Board</A ></DT ><DT ><A HREF="rt-at91-eb40.html" >Board: Atmel AT91/EB40</A ></DT ><DT ><A HREF="rt-arm-ebsa285.html" >Board: Intel StrongARM EBSA-285 Evaluation Board</A ></DT ><DT ><A HREF="rt-arm-ep7211.html" >Board: Cirrus Logic EDB7111-2 Development Board</A ></DT ><DT ><A HREF="rt-arm-pid.html" >Board: ARM PID Evaluation Board</A ></DT ><DT ><A HREF="rt-arm-iq80310.html" >Board: Intel IQ80310 XScale Development Kit</A ></DT ><DT ><A HREF="rt-tx39-jmr3904.html" >Board: Toshiba JMR3904 Evaluation Board</A ></DT ><DT ><A HREF="rt-tx49-ref4955.html" >Board: Toshiba REF 4955</A ></DT ><DT ><A HREF="rt-mn10300-stdeval1.html" >Board: Matsushita STDEVAL1 Board</A ></DT ><DT ><A HREF="rt-sparclite-sleb.html" >Board: Fujitsu SPARClite Evaluation Board</A ></DT ><DT ><A HREF="rt-ppc-cogent.html" >Board: Cogent CMA MPC860 (PowerPC) Evaluation</A ></DT ><DT ><A HREF="rt-vr4300-vrc4373.html" >Board: NEC VR4373</A ></DT ><DT ><A HREF="rt-arm-assabet.html" >Board: Intel SA1110 (Assabet)</A ></DT ><DT ><A HREF="rt-arm-brutus.html" >Board: Intel SA1100 (Brutus)</A ></DT ><DT ><A HREF="rt-ppc-mbx860.html" >Board: Motorola MBX</A ></DT ><DT ><A HREF="rt-sh-edk7708.html" >Board: Hitachi EDK7708</A ></DT ><DT ><A HREF="rt-sh-cq7708.html" >Board: CQ CqREEK SH3 Evaluation Board (cq7708)</A ></DT ><DT ><A HREF="rt-sh-hs7729pci.html" >Board: Hitachi HS7729PCI HS7729 SH3</A ></DT ><DT ><A HREF="rt-sh-se7751.html" >Board: Hitachi Solution Engine 7751 SH4 (se7751)</A ></DT ><DT ><A HREF="rt-i386-pc.html" >Board: PC</A ></DT ><DT ><A HREF="rt-v850-cebsa1.html" >Board: NEC V850 Cosmo Evaluation Board</A ></DT ><DT ><A HREF="rt-v850-cebsb1.html" >Board: NEC V850 Cosmo Evaluation Board</A ></DT ></DL ></DIV ><P >For a discussion of real-time performance measurement for eCos, see the eCos Users' Guide.</P ><DIV CLASS="CAUTION" ><P ></P ><TABLE CLASS="CAUTION" BORDER="1" WIDTH="100%" ><TR ><TD ALIGN="CENTER" ><B >Caution</B ></TD ></TR ><TR ><TD ALIGN="LEFT" ><P >As with the target setup descriptions in the previous appendix, this information will eventually be merged into per-target documents.</P ></TD ></TR ></TABLE ></DIV ><P > Sample numbers: </P ><DIV CLASS="SECT1" ><H1 CLASS="SECT1" ><A NAME="RT-ARM-AEB1">Board: ARM AEB-1 Revision B Evaluation Board</H1 ><TABLE BORDER="5" BGCOLOR="#E0E0F0" WIDTH="70%" ><TR ><TD ><PRE CLASS="LITERALLAYOUT" > Board: ARM AEB-1 Revision B Evaluation Board CPU : Sharp LH77790A 24MHz Startup, main stack : stack used 404 size 2400 Startup : Interrupt stack used 128 size 2048 Startup : Idlethread stack used 80 size 2048 eCos Kernel Timings Notes: all times are in microseconds (.000001) unless otherwise stated Reading the hardware clock takes 13 'ticks' overhead ... this value will be factored out of all other measurements Clock interrupt took 193.49 microseconds (290 raw clock ticks) Testing parameters: Clock samples: 32 Threads: 7 Thread switches: 128 Mutexes: 32 Mailboxes: 32 Semaphores: 32 Scheduler operations: 128 Counters: 32 Alarms: 32 Confidence Ave Min Max Var Ave Min Function ====== ====== ====== ====== ========== ======== 110.19 104.67 116.00 3.26 42% 28% Create thread 34.00 34.00 34.00 0.00 100% 100% Yield thread [all suspended] 24.67 24.67 24.67 0.00 100% 100% Suspend [suspended] thread 25.05 24.67 25.33 0.33 57% 42% Resume thread 37.14 36.67 37.33 0.27 71% 28% Set priority 3.81 3.33 4.00 0.27 71% 28% Get priority 80.00 80.00 80.00 0.00 100% 100% Kill [suspended] thread 33.90 33.33 34.00 0.16 85% 14% Yield [no other] thread 45.90 44.00 46.67 0.54 57% 14% Resume [suspended low prio] thread 24.57 24.00 24.67 0.16 85% 14% Resume [runnable low prio] thread 42.29 36.67 43.33 1.61 85% 14% Suspend [runnable] thread 33.90 33.33 34.00 0.16 85% 14% Yield [only low prio] thread 24.67 24.67 24.67 0.00 100% 100% Suspend [runnable->not runnable] 80.00 80.00 80.00 0.00 100% 100% Kill [runnable] thread 43.33 43.33 43.33 0.00 100% 100% Destroy [dead] thread 106.29 101.33 107.33 1.41 85% 14% Destroy [runnable] thread 144.95 141.33 166.00 6.01 85% 85% Resume [high priority] thread 78.31 76.67 254.67 2.75 99% 99% Thread switch 4.00 4.00 4.00 0.00 100% 100% Scheduler lock 16.37 16.00 16.67 0.33 56% 43% Scheduler unlock [0 threads] 16.37 16.00 16.67 0.33 56% 43% Scheduler unlock [1 suspended] 16.37 16.00 16.67 0.33 56% 43% Scheduler unlock [many suspended] 16.37 16.00 16.67 0.33 56% 43% Scheduler unlock [many low prio] 10.67 10.67 10.67 0.00 100% 100% Init mutex 28.67 28.67 28.67 0.00 100% 100% Lock [unlocked] mutex 30.44 30.00 31.33 0.33 59% 37% Unlock [locked] mutex 25.42 25.33 26.00 0.15 87% 87% Trylock [unlocked] mutex 22.50 22.00 22.67 0.25 75% 25% Trylock [locked] mutex 5.75 5.33 6.00 0.31 62% 37% Destroy mutex 185.33 185.33 185.33 0.00 100% 100% Unlock/Lock mutex 20.17 20.00 20.67 0.25 75% 75% Create mbox 2.92 2.67 3.33 0.31 62% 62% Peek [empty] mbox 32.42 32.00 32.67 0.31 62% 37% Put [first] mbox 3.00 2.67 3.33 0.33 100% 50% Peek [1 msg] mbox 32.50 32.00 32.67 0.25 75% 25% Put [second] mbox 2.92 2.67 3.33 0.31 62% 62% Peek [2 msgs] mbox 32.83 32.67 33.33 0.25 75% 75% Get [first] mbox 32.67 32.67 32.67 0.00 100% 100% Get [second] mbox 31.33 31.33 31.33 0.00 100% 100% Tryput [first] mbox 27.58 27.33 28.00 0.31 62% 62% Peek item [non-empty] mbox 32.83 32.67 33.33 0.25 75% 75% Tryget [non-empty] mbox 26.50 26.00 26.67 0.25 75% 25% Peek item [empty] mbox 28.00 28.00 28.00 0.00 100% 100% Tryget [empty] mbox 3.25 2.67 3.33 0.15 87% 12% Waiting to get mbox 3.25 2.67 3.33 0.15 87% 12% Waiting to put mbox 30.83 30.67 31.33 0.25 75% 75% Delete mbox 101.08 100.67 101.33 0.31 62% 37% Put/Get mbox 11.17 10.67 11.33 0.25 75% 25% Init semaphore 24.17 24.00 24.67 0.25 75% 75% Post [0] semaphore 27.08 26.67 27.33 0.31 62% 37% Wait [1] semaphore 22.75 22.67 23.33 0.15 87% 87% Trywait [0] semaphore 22.21 22.00 22.67 0.29 68% 68% Trywait [1] semaphore 7.33 7.33 7.33 0.00 100% 100% Peek semaphore 5.92 5.33 6.00 0.15 87% 12% Destroy semaphore 110.04 110.00 110.67 0.08 93% 93% Post/Wait semaphore 9.54 9.33 10.00 0.29 68% 68% Create counter 3.92 3.33 4.00 0.15 87% 12% Get counter value 4.00 4.00 4.00 0.00 100% 100% Set counter value 30.92 30.67 31.33 0.31 62% 62% Tick counter 5.75 5.33 6.00 0.31 62% 37% Delete counter 13.83 13.33 14.00 0.25 75% 25% Create alarm 46.67 46.67 46.67 0.00 100% 100% Initialize alarm 3.67 3.33 4.00 0.33 100% 50% Disable alarm 45.67 45.33 46.00 0.33 100% 50% Enable alarm 8.33 8.00 8.67 0.33 100% 50% Delete alarm 36.33 36.00 36.67 0.33 100% 50% Tick counter [1 alarm] 214.67 214.67 214.67 0.00 100% 100% Tick counter [many alarms] 62.67 62.67 62.67 0.00 100% 100% Tick & fire counter [1 alarm] 1087.04 1075.33 1278.67 21.91 93% 93% Tick & fire counters [>1 together] 246.35 240.67 412.00 10.35 96% 96% Tick & fire counters [>1 separately] 168.01 167.33 237.33 1.08 99% 99% Alarm latency [0 threads] 187.36 168.00 234.67 3.60 86% 1% Alarm latency [2 threads] 187.37 167.33 235.33 3.59 85% 1% Alarm latency [many threads] 303.12 280.00 508.67 3.21 98% 0% Alarm -> thread resume latency 36.65 36.00 38.67 0.00 Clock/interrupt latency 65.79 52.00 152.67 0.00 Clock DSR latency 316 316 316 (main stack: 752) Thread stack used (1120 total) All done, main stack : stack used 752 size 2400 All done : Interrupt stack used 280 size 2048 All done : Idlethread stack used 268 size 2048 Timing complete - 30390 ms total PASS:<Basic timing OK> EXIT:<done> </PRE ></TD ></TR ></TABLE ></DIV ></DIV ><DIV CLASS="NAVFOOTER" ><HR ALIGN="LEFT" WIDTH="100%"><TABLE SUMMARY="Footer navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" ><A HREF="setup-synth-i386linux.html" ACCESSKEY="P" >Prev</A ></TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="ecos-user-guide.html" ACCESSKEY="H" >Home</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" ><A HREF="rt-at91-eb40.html" ACCESSKEY="N" >Next</A ></TD ></TR ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" >i386/Linux Synthetic Target Setup</TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="appendices.html" ACCESSKEY="U" >Up</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" >Board: Atmel AT91/EB40</TD ></TR ></TABLE ></DIV ></BODY ></HTML >