blob: 24e1c47c78fbafcf3720a9fb4b466a722071ddbd (
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
|
#
# Timing Test Suite Results for the pc386 BSP using an i486DX
#
Board: PC/AT clone
CPU: Intel i486DX
Clock Speed: 33 Mhz
Memory Configuration: DRAM w/256K cache
Wait States: unknown
Times Reported in: microseconds
Timer Source: i8254
Column A: 3.5.1 pre-release
Column B: 3.5.17 pre-release
# DESCRIPTION A B
== ================================================================= ==== ====
1 rtems_semaphore_create 57 66
rtems_semaphore_delete 59 61
rtems_semaphore_obtain: available 9 7
rtems_semaphore_obtain: not available -- NO_WAIT 8 7
rtems_semaphore_release: no waiting tasks 9 8
2 rtems_semaphore_obtain: not available -- caller blocks 39 37
3 rtems_semaphore_release: task readied -- preempts caller 25 24
4 rtems_task_restart: blocked task -- preempts caller 124 102
rtems_task_restart: ready task -- preempts caller 55 111
rtems_semaphore_release: task readied -- returns to caller 16 15
rtems_task_create 31 30
rtems_task_start 19 18
rtems_task_restart: suspended task -- returns to caller 20 19
rtems_task_delete: suspended task 28 26
rtems_task_restart: ready task -- returns to caller 20 19
rtems_task_restart: blocked task -- returns to caller 28 26
rtems_task_delete: blocked task 34 28
5 rtems_task_suspend: calling task 26 23
rtems_task_resume: task readied -- preempts caller 17 15
6 rtems_task_restart: calling task 22 19
rtems_task_suspend: returns to caller 10 8
rtems_task_resume: task readied -- returns to caller 10 8
rtems_task_delete: ready task 34 33
7 rtems_task_restart: suspended task -- preempts caller 37 34
8 rtems_task_set_priority: obtain current priority 7 5
rtems_task_set_priority: returns to caller 13 12
rtems_task_mode: obtain current mode 3 3
rtems_task_mode: no reschedule 4 4
rtems_task_mode: reschedule -- returns to caller 20 17
rtems_task_mode: reschedule -- preempts caller 39 37
rtems_clock_set 17 16
rtems_clock_get 2 1
9 rtems_message_queue_create 117 113
rtems_message_queue_send: no waiting tasks 22 19
rtems_message_queue_urgent: no waiting tasks 22 19
rtems_message_queue_receive: available 18 16
rtems_message_queue_flush: no messages flushed 15 14
rtems_message_queue_flush: messages flushed 17 17
rtems_message_queue_delete 63 63
10 rtems_message_queue_receive: not available -- NO_WAIT 10 8
rtems_message_queue_receive: not available -- caller blocks 42 40
11 rtems_message_queue_send: task readied -- preempts caller 38 37
12 rtems_message_queue_send: task readied -- returns to caller 27 24
13 rtems_message_queue_urgent: task readied -- preempts caller 38 36
14 rtems_message_queue_urgent: task readied -- returns to caller 26 24
15 rtems_event_receive: obtain current events 0 0
rtems_event_receive: not available -- NO_WAIT 6 5
rtems_event_receive: not available -- caller blocks 34 33
rtems_event_send: no task readied 6 5
rtems_event_receive: available 21 19
rtems_event_send: task readied -- returns to caller 19 15
16 rtems_event_send: task readied -- preempts caller 26 24
17 rtems_task_set_priority: preempts caller 36 33
18 rtems_task_delete: calling task 51 52
19 rtems_signal_catch 17 18
rtems_signal_send: returns to caller 38 39
rtems_signal_send: signal to self 46 62
exit ASR overhead: returns to calling task 20 25
exit ASR overhead: returns to preempting task 29 29
20 rtems_partition_create 65 67
rtems_region_create 59 54
rtems_partition_get_buffer: available 39 35
rtems_partition_get_buffer: not available 18 16
rtems_partition_return_buffer 36 30
rtems_partition_delete 32 30
rtems_region_get_segment: available 22 21
rtems_region_get_segment: not available -- NO_WAIT 29 25
rtems_region_return_segment: no waiting tasks 24 22
rtems_region_get_segment: not available -- caller blocks 83 81
rtems_region_return_segment: task readied -- preempts caller 85 84
rtems_region_return_segment: task readied -- returns to caller 39 41
rtems_region_delete 30 30
rtems_io_initialize 1 1
rtems_io_open 0 0
rtems_io_close 0 0
rtems_io_read 0 0
rtems_io_write 0 0
rtems_io_control 0 1
21 rtems_task_ident 116 114
rtems_message_queue_ident 113 111
rtems_semaphore_ident 122 120
rtems_partition_ident 113 110
rtems_region_ident 115 111
rtems_port_ident 113 109
rtems_timer_ident 113 109
rtems_rate_monotonic_ident 113 111
22 rtems_message_queue_broadcast: task readied -- returns to caller 82 85
rtems_message_queue_broadcast: no waiting tasks 11 9
rtems_message_queue_broadcast: task readied -- preempts caller 51 56
23 rtems_timer_create 8 7
rtems_timer_fire_after: inactive 14 12
rtems_timer_fire_after: active 13 12
rtems_timer_cancel: active 8 7
rtems_timer_cancel: inactive 7 6
rtems_timer_reset: inactive 11 10
rtems_timer_reset: active 11 11
rtems_timer_fire_when: inactive 17 16
rtems_timer_fire_when: active 17 17
rtems_timer_delete: active 10 9
rtems_timer_delete: inactive 9 8
rtems_task_wake_when 36 34
24 rtems_task_wake_after: yield -- returns to caller 5 3
rtems_task_wake_after: yields -- preempts caller 22 19
25 rtems_clock_tick 31 31
26 _ISR_Disable 11 12
_ISR_Flash 9 9
_ISR_Enable 31 67
_Thread_Disable_dispatch 11 10
_Thread_Enable_dispatch 18 18
_Thread_Set_state 20 22
_Thread_Disptach (NO FP) 37 41
context switch: no floating point contexts 29 26
context switch: self 14 10
context switch: to another task 12 12
context switch: restore 1st FP task 54 54
fp context switch: save idle, restore idle 47 46
fp context switch: save idle, restore initialized 25 25
fp context switch: save initialized, restore initialized 24 25
_Thread_Resume 23 24
_Thread_Unblock 14 14
_Thread_Ready 16 24
_Thread_Get 2 2
_Semaphore_Get 1 1
_Thread_Get: invalid id 0 0
27 interrupt entry overhead: returns to interrupted task 25 23
interrupt exit overhead: returns to interrupted task 14 15
interrupt entry overhead: returns to nested interrupt 12 12
interrupt exit overhead: returns to nested interrupt 14 14
interrupt entry overhead: returns to preempting task 14 16
interrupt exit overhead: returns to preempting task 42 38
28 rtems_port_create 43 42
rtems_port_external_to_internal 6 4
rtems_port_internal_to_external 6 4
rtems_port_delete 39 33
29 rtems_rate_monotonic_create 48 42
rtems_rate_monotonic_period: initiate period -- returns to caller 61 65
rtems_rate_monotonic_period: obtain status 23 21
rtems_rate_monotonic_cancel 38 35
rtems_rate_monotonic_delete: inactive 32 32
rtems_rate_monotonic_delete: active 22 22
rtems_rate_monotonic_period: conclude periods -- caller blocks 24 19
|