summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/mips64orion/p4000/times
blob: 6a3dbfe1fb6e502a7c4569ed1eeeebcba00fd320 (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
192
193
194
195
196
197
198
199
200
#
#  Timing Test Suite Results for the NO_BSP
#
#  NOTE: This is just a template.  The times are irrelevant since this BSP
#        can only be compiled -- not executed.
#
#  times,v 1.2 1995/12/07 15:44:23 joel Exp
#
# @(#)times        08/01/96     1.4

NOTE:  To obtain the execution time in microseconds, divide the number of
       cycles by the clock speed.  For example, if rtems_semaphore create
       is reported to be 1164 cycles, then at 66 Mhz it takes 17.64
       microseconds or 8.75 microseconds at 133 Mhz.

Board: Algorithmics P4000i 
CPU: IDT 4650
Clock Speed: 100MHz
Memory Configuration: SRAM, DRAM, cache, etc
Wait States:

Times Reported in: cycles
Timer Source: on-CPU cycle counter

Column A:RTEMS compiled with 64 bit pointers and 64 bit unsigned32 types
Column B:RTEMS compiled with 32 bit pointers and 32 bit unsigned32 types

#                          DESCRIPTION                                 A    B
== =================================================================  ==== ====
 1 rtems_semaphore_create                                              788  759
   rtems_semaphore_delete                                              903  945
   rtems_semaphore_obtain: available                                   119  119
   rtems_semaphore_obtain: not available -- NO_WAIT                    118  118
   rtems_semaphore_release: no waiting tasks                           127  127

 2 rtems_semaphore_obtain: not available -- caller blocks              842  840

 3 rtems_semaphore_release: task readied -- preempts caller            777  751

 4 rtems_task_restart: blocked task -- preempts caller                1611 1595
   rtems_task_restart: ready task -- preempts caller                  1253 1395
   rtems_semaphore_release: task readied -- returns to caller          365  345
   rtems_task_create                                                   798  797
   rtems_task_start                                                    464  460
   rtems_task_restart: suspended task -- returns to caller             517  517
   rtems_task_delete: suspended task                                   529  595
   rtems_task_restart: ready task -- returns to caller                 527  525
   rtems_task_restart: blocked task -- returns to caller               707  684
   rtems_task_delete: blocked task                                     609  675

 5 rtems_task_suspend: calling task                                    549  549
   rtems_task_resume: task readied -- preempts caller                  702  699

 6 rtems_task_restart: calling task                                    291  291
   rtems_task_suspend: returns to caller                               195  194
   rtems_task_resume: task readied -- returns to caller                198  198
   rtems_task_delete: ready task                                       734  736

 7 rtems_task_restart: suspended task -- preempts caller              1049  990

 8 rtems_task_set_priority: obtain current priority                     94   94
   rtems_task_set_priority: returns to caller                          418  355
   rtems_task_mode: obtain current mode                                 44   43
   rtems_task_mode: no reschedule                                        0   49
   rtems_task_mode: reschedule -- returns to caller                      0  232 
   rtems_task_mode: reschedule -- preempts caller                        0  687
   rtems_task_set_note                                                   0  101
   rtems_task_get_note                                                   0  103
   rtems_clock_set                                                       0  237
   rtems_clock_get                                                       0   16

 9 rtems_message_queue_create                                         3583 3432
   rtems_message_queue_send: no waiting tasks                          252  252
   rtems_message_queue_urgent: no waiting tasks                        252  252
   rtems_message_queue_receive: available                              207  207
   rtems_message_queue_flush: no messages flushed                       95   96
   rtems_message_queue_flush: messages flushed                         110  110
   rtems_message_queue_delete                                         1044 1111

10 rtems_message_queue_receive: not available -- NO_WAIT               132  131
   rtems_message_queue_receive: not available -- caller blocks         884  892

11 rtems_message_queue_send: task readied -- preempts caller           397  817 

12 rtems_message_queue_send: task readied -- returns to caller         397  397

13 rtems_message_queue_urgent: task readied -- preempts caller         816  817

14 rtems_message_queue_urgent: task readied -- returns to caller       397  398

15 rtems_event_receive: obtain current events                            5    5
   rtems_event_receive: not available -- NO_WAIT                        99   99
   rtems_event_receive: not available -- caller blocks                 689  689
   rtems_event_send: no task readied                                   123  123
   rtems_event_receive: available                                      326  349
   rtems_event_send: task readied -- returns to caller                 333  429

16 rtems_event_send: task readied -- preempts caller                   843  838

17 rtems_task_set_priority: preempts caller                           1002  991

18 rtems_task_delete: calling task                                    1171 1157

19 rtems_signal_catch                                                    0 1306
   rtems_signal_send: returns to caller                                  0 1019
   rtems_signal_send: signal to self                                     0  496
   exit ASR overhead: returns to calling task                            0  120
   exit ASR overhead: returns to preempting task                         0   73

20 rtems_partition_create                                             1293 1306
   rtems_region_create                                                1010 1019
   rtems_partition_get_buffer: available                               481  496
   rtems_partition_get_buffer: not available                           120  120
   rtems_partition_return_buffer                                       587  460
   rtems_partition_delete                                              379  320
   rtems_region_get_segment: available                                 179  179
   rtems_region_get_segment: not available -- NO_WAIT                  349  293
   rtems_region_return_segment: no waiting tasks                       335  322
   rtems_region_get_segment: not available -- caller blocks           1603 1496
   rtems_region_return_segment: task readied -- preempts caller       1616 1533
   rtems_region_return_segment: task readied -- returns to caller      940  939
   rtems_region_delete                                                 301  348
   rtems_io_initialize                                                   9   10
   rtems_io_open                                                         6    6
   rtems_io_close                                                        6    6
   rtems_io_read                                                         6    6
   rtems_io_write                                                        6    5
   rtems_io_control                                                      6    6

21 rtems_task_ident                                                   1057 1058
   rtems_message_queue_ident                                           963  963
   rtems_semaphore_ident                                              1137 1136
   rtems_partition_ident                                               962  961
   rtems_region_ident                                                  923  924
   rtems_port_ident                                                    918  917
   rtems_timer_ident                                                   942  941
   rtems_rate_monotonic_ident                                          924  925

22 rtems_message_queue_broadcast: task readied -- returns to caller   1084 1095
   rtems_message_queue_broadcast: no waiting tasks                     147  148
   rtems_message_queue_broadcast: task readied -- preempts caller     1305 1268

23 rtems_timer_create                                                  202  201
   rtems_timer_fire_after: inactive                                    261  261
   rtems_timer_fire_after: active                                      271  269
   rtems_timer_cancel: active                                          142  141
   rtems_timer_cancel: inactive                                        122  124
   rtems_timer_reset: inactive                                         222  222
   rtems_timer_reset: active                                           246  245
   rtems_timer_fire_when: inactive                                     312  311
   rtems_timer_fire_when: active                                       358  358
   rtems_timer_delete: active                                          263  263
   rtems_timer_delete: inactive                                        247  247
   rtems_task_wake_when                                                833  831

24 rtems_task_wake_after: yield -- returns to caller                    99   98
   rtems_task_wake_after: yields -- preempts caller                    479  478

25 rtems_clock_tick                                                    313  318

26 _ISR_Disable                                                         64   57
   _ISR_Flash                                                           51   36
   _ISR_Enable                                                          31   18
   _Thread_Disable_dispatch                                             53   37
   _Thread_Enable_dispatch                                             260  233
   _Thread_Set_state                                                   446  463
   _Thread_Disptach (NO FP)                                            839  801
   context switch: no floating point contexts                          673  653
   context switch: self                                                156  162
   context switch: to another task                                      84   70
   context switch: restore 1st FP task                                1030 1013
   fp context switch: save idle, restore idle                          969  948
   fp context switch: save idle, restore initialized                   275  267
   fp context switch: save initialized, restore initialized            319  292
   _Thread_Resume                                                      512  480
   _Thread_Unblock                                                     121  139
   _Thread_Ready                                                       199  203
   _Thread_Get                                                          27   27
   _Semaphore_Get                                                       20   21
   _Thread_Get: invalid id                                               5    5

27 interrupt entry overhead: returns to interrupted task                 0    0
   interrupt exit overhead: returns to interrupted task                 27   41
   interrupt entry overhead: returns to nested interrupt                 0    0
   interrupt exit overhead: returns to nested interrupt                  0    0
   interrupt entry overhead: returns to preempting task                  0    0
   interrupt exit overhead: returns to preempting task                   0    0

28 rtems_port_create                                                   574  560
   rtems_port_external_to_internal                                      87   87
   rtems_port_internal_to_external                                      86   86
   rtems_port_delete                                                   395  353

29 rtems_rate_monotonic_create                                         621  633
   rtems_rate_monotonic_period: initiate period -- returns to caller   773  694
   rtems_rate_monotonic_period: obtain status                          295  284
   rtems_rate_monotonic_cancel                                         408  451
   rtems_rate_monotonic_delete: inactive                               453  471
   rtems_rate_monotonic_delete: active                                 332  336
   rtems_rate_monotonic_period: conclude periods -- caller blocks      664  686