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>
|