#
#  Timing Test Suite Results for the Motorola MVME136 BSP
#
#  $Id$
#

Board:                Motorola MVME136
CPU:                  Motorola MC68020 + MC68881 FPU
Clock Speed:          20 Mhz
Memory Configuration: DRAM w/no cache
Wait States:          1 wait state

Times Reported in:    microseconds
Timer Source:         Zilog Z8036

Column A:             3.5.1 pre-release
Column B:             3.5.17 pre-release

#                          DESCRIPTION                                 A    B
== =================================================================  ==== ====
 1 rtems_semaphore_create                                               67   60
   rtems_semaphore_delete                                               64   58
   rtems_semaphore_obtain: available                                    46   38
   rtems_semaphore_obtain: not available -- NO_WAIT                     45   38
   rtems_semaphore_release: no waiting tasks                            51   44

 2 rtems_semaphore_obtain: not available -- caller blocks              113  109

 3 rtems_semaphore_release: task readied -- preempts caller             94   87

 4 rtems_task_restart: blocked task -- preempts caller                 152  149
   rtems_task_restart: ready task -- preempts caller                   145  142
   rtems_semaphore_release: task readied -- returns to caller           71   66
   rtems_task_create                                                   154  148
   rtems_task_start                                                     82   76
   rtems_task_restart: suspended task -- returns to caller              94   89
   rtems_task_delete: suspended task                                   145  138
   rtems_task_restart: ready task -- returns to caller                  97   92
   rtems_task_restart: blocked task -- returns to caller               128  124
   rtems_task_delete: blocked task                                     149  143

 5 rtems_task_suspend: calling task                                     77   71
   rtems_task_resume: task readied -- preempts caller                   74   67

 6 rtems_task_restart: calling task                                    101   95
   rtems_task_suspend: returns to caller                                50   43
   rtems_task_resume: task readied -- returns to caller                 50   45
   rtems_task_delete: ready task                                       151  144

 7 rtems_task_restart: suspended task -- preempts caller               130  125

 8 rtems_task_set_priority: obtain current priority                     38   31
   rtems_task_set_priority: returns to caller                           71   64
   rtems_task_mode: obtain current mode                                 16   14
   rtems_task_mode: no reschedule                                       18   16
   rtems_task_mode: reschedule -- returns to caller                     24   23
   rtems_task_mode: reschedule -- preempts caller                       68   60
   rtems_task_set_note                                                  39   33
   rtems_task_get_note                                                  40   33
   rtems_clock_set                                                      93   86
   rtems_clock_get                                                       1    1

 9 rtems_message_queue_create                                          207  200
   rtems_message_queue_send: no waiting tasks                          103   97
   rtems_message_queue_urgent: no waiting tasks                        103   96
   rtems_message_queue_receive: available                               87   79
   rtems_message_queue_flush: no messages flushed                       36   29
   rtems_message_queue_flush: messages flushed                          46   39
   rtems_message_queue_delete                                           85   80

10 rtems_message_queue_receive: not available -- NO_WAIT                51   43
   rtems_message_queue_receive: not available -- caller blocks         115  114

11 rtems_message_queue_send: task readied -- preempts caller           129  123

12 rtems_message_queue_send: task readied -- returns to caller         107  101

13 rtems_message_queue_urgent: task readied -- preempts caller         130  123

14 rtems_message_queue_urgent: task readied -- returns to caller       107  101

15 rtems_event_receive: obtain current events                            0    1
   rtems_event_receive: not available -- NO_WAIT                        33   23
   rtems_event_receive: not available -- caller blocks                  92   84
   rtems_event_send: no task readied                                    34   24
   rtems_event_receive: available                                       36   28
   rtems_event_send: task readied -- returns to caller                  67   60

16 rtems_event_send: task readied -- preempts caller                    90   84

17 rtems_task_set_priority: preempts caller                            110  106

18 rtems_task_delete: calling task                                     175  170

19 rtems_signal_catch                                                   23   15
   rtems_signal_send: returns to caller                                 43   37
   rtems_signal_send: signal to self                                    52   55
   exit ASR overhead: returns to calling task                           37   37
   exit ASR overhead: returns to preempting task                        65   54

20 rtems_partition_create                                               77   70
   rtems_region_create                                                  70   63
   rtems_partition_get_buffer: available                                42   35
   rtems_partition_get_buffer: not available                            40   33
   rtems_partition_return_buffer                                        50   43
   rtems_partition_delete                                               47   42
   rtems_region_get_segment: available                                  58   52
   rtems_region_get_segment: not available -- NO_WAIT                   55   49
   rtems_region_return_segment: no waiting tasks                        60   54
   rtems_region_get_segment: not available -- caller blocks            126  123
   rtems_region_return_segment: task readied -- preempts caller        143  136
   rtems_region_return_segment: task readied -- returns to caller      120  114
   rtems_region_delete                                                  45   39
   rtems_io_initialize                                                   6    4
   rtems_io_open                                                         2    2
   rtems_io_close                                                        1    1
   rtems_io_read                                                         1    2
   rtems_io_write                                                        1    3
   rtems_io_control                                                      2    2

21 rtems_task_ident                                                    353  350
   rtems_message_queue_ident                                           344  341
   rtems_semaphore_ident                                               369  367
   rtems_partition_ident                                               344  341
   rtems_region_ident                                                  350  348
   rtems_port_ident                                                    343  340
   rtems_timer_ident                                                   345  343
   rtems_rate_monotonic_ident                                          344  341

22 rtems_message_queue_broadcast: task readied -- returns to caller    115  111
   rtems_message_queue_broadcast: no waiting tasks                      60   53
   rtems_message_queue_broadcast: task readied -- preempts caller      138  133

23 rtems_timer_create                                                   37   28
   rtems_timer_fire_after: inactive                                     66   58
   rtems_timer_fire_after: active                                       70   61
   rtems_timer_cancel: active                                           42   34
   rtems_timer_cancel: inactive                                         39   31
   rtems_timer_reset: inactive                                          60   54
   rtems_timer_reset: active                                            65   58
   rtems_timer_fire_when: inactive                                      96   88
   rtems_timer_fire_when: active                                        96   88
   rtems_timer_delete: active                                           55   47
   rtems_timer_delete: inactive                                         51   47
   rtems_task_wake_when                                                125  117

24 rtems_task_wake_after: yield -- returns to caller                    26   16
   rtems_task_wake_after: yields -- preempts caller                     65   56

25 rtems_clock_tick                                                     14   17

26 _ISR_Disable                                                          0    0
   _ISR_Flash                                                            0    0
   _ISR_Enable                                                           0    0
   _Thread_Disable_dispatch                                              0    0
   _Thread_Enable_dispatch                                              19   11
   _Thread_Set_state                                                    24   24
   _Thread_Disptach (NO FP)                                             50   43
   context switch: no floating point contexts                           41   35
   context switch: self                                                  9    9
   context switch: to another task                                       9   10
   context switch: restore 1st FP task                                  46   39
   fp context switch: save idle, restore idle                           75   68
   fp context switch: save idle, restore initialized                    66   66
   fp context switch: save initialized, restore initialized             65   66
   _Thread_Resume                                                       18   19
   _Thread_Unblock                                                      18   19
   _Thread_Ready                                                        22   21
   _Thread_Get                                                          12   14
   _Semaphore_Get                                                       10   10
   _Thread_Get: invalid id                                               2    2

27 interrupt entry overhead: returns to interrupted task                 9    9
   interrupt exit overhead: returns to interrupted task                  8    8
   interrupt entry overhead: returns to nested interrupt                14   12
   interrupt exit overhead: returns to nested interrupt                  0    0
   interrupt entry overhead: returns to preempting task                  8    9
   interrupt exit overhead: returns to preempting task                  62   54

28 rtems_port_create                                                    44   35
   rtems_port_external_to_internal                                      35   27
   rtems_port_internal_to_external                                      34   26
   rtems_port_delete                                                    46   39

29 rtems_rate_monotonic_create                                          40   32
   rtems_rate_monotonic_period: initiate period -- returns to caller    60   54
   rtems_rate_monotonic_period: obtain status                           38   31
   rtems_rate_monotonic_cancel                                          46   39
   rtems_rate_monotonic_delete: inactive                                54   48
   rtems_rate_monotonic_delete: active                                  57   51
   rtems_rate_monotonic_period: conclude periods -- caller blocks       83   74
