Board: Atmel AT91/EB40

Board: Atmel AT91/EB40
CPU : AT91R40807 (ARM7TDMI core), 32MHz
512KB RAM, 64K Flash

Startup, main stack             : stack used   420 size  2400
Startup              :  Interrupt stack used   144 size  4096
Startup              : Idlethread stack used    84 size  2048

eCos Kernel Timings
Notes: all times are in microseconds (.000001) unless otherwise stated

Reading the hardware clock takes 3 'ticks' overhead
... this value will be factored out of all other measurements
Clock interrupt took  127.53 microseconds (130 raw clock ticks)

Testing parameters:
   Clock samples:            32
   Threads:                  25
   Thread switches:         128
   Mutexes:                  32
   Mailboxes:                32
   Semaphores:               32
   Scheduler operations:    128
   Counters:                 32
   Alarms:                   32


                                 Confidence
     Ave     Min     Max     Var  Ave  Min  Function
  ======  ======  ======  ====== ========== ========
   86.48   71.29  101.56    7.99   48%  28% Create thread
   20.70   20.51   21.48    0.31   80%  80% Yield thread [all suspended]
   17.15   16.60   17.58    0.48   56%  44% Suspend [suspended] thread
   17.07   16.60   17.58    0.49   52%  52% Resume thread
   25.51   25.39   26.37    0.21   88%  88% Set priority
    3.16    2.93    3.91    0.36   76%  76% Get priority
   52.34   51.76   52.73    0.47   60%  40% Kill [suspended] thread
   20.70   20.51   21.48    0.31   80%  80% Yield [no other] thread
   28.98   28.32   30.27    0.48   60%  36% Resume [suspended low prio] thread
   17.11   16.60   17.58    0.49   52%  48% Resume [runnable low prio] thread
   27.85   26.37   28.32    0.52   96%   4% Suspend [runnable] thread
   20.70   20.51   21.48    0.31   80%  80% Yield [only low prio] thread
   17.23   16.60   17.58    0.45   64%  36% Suspend [runnable->not runnable]
   52.34   51.76   52.73    0.47   60%  40% Kill [runnable] thread
   33.01   32.23   33.20    0.31   80%  20% Destroy [dead] thread
   72.03   70.31   72.27    0.38   80%   4% Destroy [runnable] thread
   96.99   95.70  112.30    1.22   64%  96% Resume [high priority] thread
   51.48   49.80  164.06    1.76   99%  99% Thread switch

    2.78    1.95    2.93    0.26   84%  15% Scheduler lock
   11.81   11.72   12.70    0.17   90%  90% Scheduler unlock [0 threads]
   11.81   11.72   12.70    0.17   90%  90% Scheduler unlock [1 suspended]
   11.81   11.72   12.70    0.17   90%  90% Scheduler unlock [many suspended]
   11.81   11.72   12.70    0.17   90%  90% Scheduler unlock [many low prio]

    5.49    4.88    5.86    0.46   62%  37% Init mutex
   20.20   19.53   20.51    0.42   68%  31% Lock [unlocked] mutex
   24.44   24.41   25.39    0.06   96%  96% Unlock [locked] mutex
   18.25   17.58   18.55    0.42   68%  31% Trylock [unlocked] mutex
   16.11   15.63   16.60    0.49  100%  50% Trylock [locked] mutex
    6.10    5.86    6.84    0.37   75%  75% Destroy mutex
  124.21  124.02  125.00    0.30   81%  81% Unlock/Lock mutex

    9.28    8.79    9.77    0.49  100%  50% Create mbox
    2.93    2.93    2.93    0.00  100% 100% Peek [empty] mbox
   22.58   22.46   23.44    0.21   87%  87% Put [first] mbox
    2.44    1.95    2.93    0.49  100%  50% Peek [1 msg] mbox
   22.58   22.46   23.44    0.21   87%  87% Put [second] mbox
    2.44    1.95    2.93    0.49  100%  50% Peek [2 msgs] mbox
   22.71   22.46   23.44    0.37   75%  75% Get [first] mbox
   22.71   22.46   23.44    0.37   75%  75% Get [second] mbox
   21.18   20.51   21.48    0.42   68%  31% Tryput [first] mbox
   18.98   18.55   19.53    0.48   56%  56% Peek item [non-empty] mbox
   22.46   22.46   22.46    0.00  100% 100% Tryget [non-empty] mbox
   18.31   17.58   18.55    0.37   75%  25% Peek item [empty] mbox
   19.53   19.53   19.53    0.00  100% 100% Tryget [empty] mbox
    2.69    1.95    2.93    0.37   75%  25% Waiting to get mbox
    2.93    2.93    2.93    0.00  100% 100% Waiting to put mbox
   23.86   23.44   24.41    0.48   56%  56% Delete mbox
   67.60   67.38   68.36    0.33   78%  78% Put/Get mbox

    5.37    4.88    5.86    0.49  100%  50% Init semaphore
   16.97   16.60   17.58    0.46   62%  62% Post [0] semaphore
   18.98   18.55   19.53    0.48   56%  56% Wait [1] semaphore
   15.81   15.63   16.60    0.30   81%  81% Trywait [0] semaphore
   15.29   14.65   15.63    0.44   65%  34% Trywait [1] semaphore
    5.62    4.88    5.86    0.37   75%  25% Peek semaphore
    6.35    5.86    6.84    0.49  100%  50% Destroy semaphore
   72.36   72.27   73.24    0.17   90%  90% Post/Wait semaphore

    7.08    6.84    7.81    0.37   75%  75% Create counter
    3.17    2.93    3.91    0.37   75%  75% Get counter value
    3.05    2.93    3.91    0.21   87%  87% Set counter value
   24.11   23.44   24.41    0.42   68%  31% Tick counter
    5.49    4.88    5.86    0.46   62%  37% Delete counter

   10.92   10.74   11.72    0.30   81%  81% Create alarm
   31.46   31.25   32.23    0.33   78%  78% Initialize alarm
    3.05    2.93    3.91    0.21   87%  87% Disable alarm
   31.49   31.25   32.23    0.37   75%  75% Enable alarm
    7.02    6.84    7.81    0.30   81%  81% Delete alarm
   31.16   30.27   31.25    0.17   90%   9% Tick counter [1 alarm]
  309.26  304.69  425.78    7.28   96%  96% Tick counter [many alarms]
   44.83   43.95   44.92    0.17   90%   9% Tick & fire counter [1 alarm]
  781.68  774.41  893.55   13.62   93%  93% Tick & fire counters [>1 together]
  324.16  320.31  433.59    6.84   96%  96% Tick & fire counters [>1 separately]
  114.26  113.28  167.97    0.84   57%  42% Alarm latency [0 threads]
  126.91  113.28  159.18    8.20   50%  31% Alarm latency [2 threads]
  127.11  113.28  158.20    8.09   51%  28% Alarm latency [many threads]
  196.49  189.45  331.05    2.10   98%   0% Alarm -> thread resume latency

   23.50   23.44   25.39    0.00            Clock/interrupt latency

   40.31   33.20  514.65    0.00            Clock DSR latency

  300     271     312  (main stack:   832)  Thread stack used (1120 total)
All done, main stack            : stack used   832 size  2400
All done             :  Interrupt stack used   288 size  4096
All done             : Idlethread stack used   272 size  2048

Timing complete - 30350 ms total

PASS:<Basic timing OK>
EXIT:<done>