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