blob: 2c953246ac4880b2a918dcb0858b11b6bb588f1f (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
|
#
# Timing Test Suite Results for the Force CPU386 BSP
#
# $Id$
#
Board: Force CPU-386
CPU: i386/DX + i387
Clock Speed: 16 Mhz
Memory Configuration: DRAM, no cache
Wait States: 0 wait states
Times Reported in: microseconds
Timer Source: count-down timer provided by a Motorola MC68901
Column A: 3.5.1
Column B: 3.5.17 - pre-release
# DESCRIPTION A B
== ================================================================= ==== ====
1 rtems_semaphore_create 73 64
rtems_semaphore_delete 69 60
rtems_semaphore_obtain: available 50 41
rtems_semaphore_obtain: not available -- NO_WAIT 50 40
rtems_semaphore_release: no waiting tasks 55 47
2 rtems_semaphore_obtain: not available -- caller blocks 126 123
3 rtems_semaphore_release: task readied -- preempts caller 104 95
4 rtems_task_restart: blocked task -- preempts caller 164 162
rtems_task_restart: ready task -- preempts caller 158 156
rtems_semaphore_release: task readied -- returns to caller 79 70
rtems_task_create 164 157
rtems_task_start 93 86
rtems_task_restart: suspended task -- returns to caller 109 103
rtems_task_delete: suspended task 154 147
rtems_task_restart: ready task -- returns to caller 111 105
rtems_task_restart: blocked task -- returns to caller 144 138
rtems_task_delete: blocked task 162 153
5 rtems_task_suspend: calling task 87 81
rtems_task_resume: task readied -- preempts caller 79 71
6 rtems_task_restart: calling task 121 118
rtems_task_suspend: returns to caller 54 45
rtems_task_resume: task readied -- returns to caller 54 46
rtems_task_delete: ready task 164 157
7 rtems_task_restart: suspended task -- preempts caller 151 149
8 rtems_task_set_priority: obtain current priority 40 30
rtems_task_set_priority: returns to caller 75 67
rtems_task_mode: obtain current mode 20 19
rtems_task_mode: no reschedule 22 21
rtems_task_mode: reschedule -- returns to caller 27 27
rtems_task_mode: reschedule -- preempts caller 74 66
rtems_task_set_note 41 32
rtems_task_get_note 42 32
rtems_clock_set 95 85
rtems_clock_get 2 2
9 rtems_message_queue_create 304 294
rtems_message_queue_send: no waiting tasks 124 117
rtems_message_queue_urgent: no waiting tasks 123 117
rtems_message_queue_receive: available 101 93
rtems_message_queue_flush: no messages flushed 38 29
rtems_message_queue_flush: messages flushed 50 41
rtems_message_queue_delete 88 81
10 rtems_message_queue_receive: not available -- NO_WAIT 54 45
rtems_message_queue_receive: not available -- caller blocks 131 127
11 rtems_message_queue_send: task readied -- preempts caller 152 144
12 rtems_message_queue_send: task readied -- returns to caller 126 118
13 rtems_message_queue_urgent: task readied -- preempts caller 152 144
14 rtems_message_queue_urgent: task readied -- returns to caller 126 116
15 rtems_event_receive: obtain current events 0 <1
rtems_event_receive: not available -- NO_WAIT 37 25
rtems_event_receive: not available -- caller blocks 102 94
rtems_event_send: no task readied 37 26
rtems_event_receive: available 39 27
rtems_event_send: task readied -- returns to caller 68 60
16 rtems_event_send: task readied -- preempts caller 96 89
17 rtems_task_set_priority: preempts caller 119 115
18 rtems_task_delete: calling task 192 187
19 rtems_signal_catch 23 13
rtems_signal_send: returns to caller 43 34
rtems_signal_send: signal to self 57 59
exit ASR overhead: returns to calling task 39 39
exit ASR overhead: returns to preempting task 70 60
20 rtems_partition_create 96 83
rtems_region_create 78 68
rtems_partition_get_buffer: available 42 34
rtems_partition_get_buffer: not available 42 33
rtems_partition_return_buffer 49 40
rtems_partition_delete 50 49
rtems_region_get_segment: available 57 45
rtems_region_get_segment: not available -- NO_WAIT 54 52
rtems_region_return_segment: no waiting tasks 62 52
rtems_region_get_segment: not available -- caller blocks 131 127
rtems_region_return_segment: task readied -- preempts caller 147 138
rtems_region_return_segment: task readied -- returns to caller 123 113
rtems_region_delete 48 39
rtems_io_initialize 4 4
rtems_io_open 1 1
rtems_io_close 1 0
rtems_io_read 1 1
rtems_io_write 1 1
rtems_io_control 1 1
21 rtems_task_ident 671 748
rtems_message_queue_ident 656 730
rtems_semaphore_ident 699 787
rtems_partition_ident 655 730
rtems_region_ident 670 739
rtems_port_ident 657 728
rtems_timer_ident 658 729
rtems_rate_monotonic_ident 659 729
22 rtems_message_queue_broadcast: task readied -- returns to caller 129 122
rtems_message_queue_broadcast: no waiting tasks 61 53
rtems_message_queue_broadcast: task readied -- preempts caller 155 146
23 rtems_timer_create 45 34
rtems_timer_fire_after: inactive 70 65
rtems_timer_fire_after: active 75 69
rtems_timer_cancel: active 45 37
rtems_timer_cancel: inactive 41 32
rtems_timer_reset: inactive 65 58
rtems_timer_reset: active 69 63
rtems_timer_fire_when: inactive 100 92
rtems_timer_fire_when: active 100 92
rtems_timer_delete: active 60 52
rtems_timer_delete: inactive 56 48
rtems_task_wake_when 132 128
24 rtems_task_wake_after: yield -- returns to caller 29 18
rtems_task_wake_after: yields -- preempts caller 71 63
25 rtems_clock_tick 14 16
26 _ISR_Disable 2 1
_ISR_Flash 2 1
_ISR_Enable 1 1
_Thread_Disable_dispatch 1 1
_Thread_Enable_dispatch 22 10
_Thread_Set_state 25 26
_Thread_Disptach (NO FP) 55 48
context switch: no floating point contexts 42 34
context switch: self 8 9
context switch: to another task 10 10
context switch: restore 1st FP task 65 57
fp context switch: save idle, restore idle 93 83
fp context switch: save idle, restore initialized 60 59
fp context switch: save initialized, restore initialized 60 59
_Thread_Resume 19 19
_Thread_Unblock 19 19
_Thread_Ready 22 22
_Thread_Get 14 15
_Semaphore_Get 11 13
_Thread_Get: invalid id 3 3
27 interrupt entry overhead: returns to interrupted task 13 13
interrupt exit overhead: returns to interrupted task 11 11
interrupt entry overhead: returns to nested interrupt 12 12
interrupt exit overhead: returns to nested interrupt 10 10
interrupt entry overhead: returns to preempting task 12 12
interrupt exit overhead: returns to preempting task 65 58
28 rtems_port_create 48 39
rtems_port_external_to_internal 36 26
rtems_port_internal_to_external 36 26
rtems_port_delete 48 39
29 rtems_rate_monotonic_create 47 36
rtems_rate_monotonic_period: initiate period -- returns to caller 60 53
rtems_rate_monotonic_period: obtain status 38 30
rtems_rate_monotonic_cancel 48 39
rtems_rate_monotonic_delete: inactive 57 49
rtems_rate_monotonic_delete: active 61 53
rtems_rate_monotonic_period: conclude periods -- caller blocks 88 82
|