#
#  Timing Test Suite Results for the DY-4 DMV152 BSP
#
#  NOTE: These times also also applicable to similar configurations of
#        the DY-4 SVME153 which is the commercial grade version of the
#        same board.
#
#  $Id$
#

Board:                DY-4 DMV152 / DY-4 SVME153
CPU:                  Motorola MC68020
Clock Speed:          20 Mhz
Memory Configuration: SRAM
Wait States:          0

Times Reported in:    microseconds
Timer Source:         Zilog Z8036 Count Down Timer

Column A:             3.5.1 pre-release
Column B:             unused

#                          DESCRIPTION                                 A    B
== =================================================================  ==== ====
 1 rtems_semaphore_create                                               67
   rtems_semaphore_delete                                               63
   rtems_semaphore_obtain: available                                    45
   rtems_semaphore_obtain: not available -- NO_WAIT                     44
   rtems_semaphore_release: no waiting tasks                            49

 2 rtems_semaphore_obtain: not available -- caller blocks              114

 3 rtems_semaphore_release: task readied -- preempts caller             92

 4 rtems_task_restart: blocked task -- preempts caller                 153
   rtems_task_restart: ready task -- preempts caller                   145
   rtems_semaphore_release: task readied -- returns to caller           71
   rtems_task_create                                                   154
   rtems_task_start                                                     83
   rtems_task_restart: suspended task -- returns to caller              95
   rtems_task_delete: suspended task                                   144
   rtems_task_restart: ready task -- returns to caller                  98
   rtems_task_restart: blocked task -- returns to caller               128
   rtems_task_delete: blocked task                                     149

 5 rtems_task_suspend: calling task                                     76
   rtems_task_resume: task readied -- preempts caller                   72

 6 rtems_task_restart: calling task                                    100
   rtems_task_suspend: returns to caller                                49
   rtems_task_resume: task readied -- returns to caller                 50
   rtems_task_delete: ready task                                       150

 7 rtems_task_restart: suspended task -- preempts caller               100

 8 rtems_task_set_priority: obtain current priority                     37
   rtems_task_set_priority: returns to caller                           69
   rtems_task_mode: obtain current mode                                 16
   rtems_task_mode: no reschedule                                       18
   rtems_task_mode: reschedule -- returns to caller                     24
   rtems_task_mode: reschedule -- preempts caller                       66
   rtems_task_set_note                                                  39
   rtems_task_get_note                                                  39
   rtems_clock_set                                                      90
   rtems_clock_get                                                       3

 9 rtems_message_queue_create                                          206
   rtems_message_queue_send: no waiting tasks                          103
   rtems_message_queue_urgent: no waiting tasks                        102
   rtems_message_queue_receive: available                               87
   rtems_message_queue_flush: no messages flushed                       37
   rtems_message_queue_flush: messages flushed                          46
   rtems_message_queue_delete                                           85

10 rtems_message_queue_receive: not available -- NO_WAIT                52
   rtems_message_queue_receive: not available -- caller blocks         119

11 rtems_message_queue_send: task readied -- preempts caller           128

12 rtems_message_queue_send: task readied -- returns to caller         106

13 rtems_message_queue_urgent: task readied -- preempts caller         128

14 rtems_message_queue_urgent: task readied -- returns to caller       106

15 rtems_event_receive: obtain current events                            0
   rtems_event_receive: not available -- NO_WAIT                        32
   rtems_event_receive: not available -- caller blocks                  91
   rtems_event_send: no task readied                                    34
   rtems_event_receive: available                                       37
   rtems_event_send: task readied -- returns to caller                  66

16 rtems_event_send: task readied -- preempts caller                    89

17 rtems_task_set_priority: preempts caller                            109

18 rtems_task_delete: calling task                                     175

19 rtems_signal_catch                                                   24
   rtems_signal_send: returns to caller                                 43
   rtems_signal_send: signal to self                                    50
   exit ASR overhead: returns to calling task                           37
   exit ASR overhead: returns to preempting task                        64

20 rtems_partition_create                                               79
   rtems_region_create                                                  72
   rtems_partition_get_buffer: available                                43
   rtems_partition_get_buffer: not available                            41
   rtems_partition_return_buffer                                        51
   rtems_partition_delete                                               47
   rtems_region_get_segment: available                                  59
   rtems_region_get_segment: not available -- NO_WAIT                   55
   rtems_region_return_segment: no waiting tasks                        63
   rtems_region_get_segment: not available -- caller blocks            127
   rtems_region_return_segment: task readied -- preempts caller        143
   rtems_region_return_segment: task readied -- returns to caller      121
   rtems_region_delete                                                  47
   rtems_io_initialize                                                   6
   rtems_io_open                                                         3
   rtems_io_close                                                        2
   rtems_io_read                                                         2
   rtems_io_write                                                        2
   rtems_io_control                                                      2

21 rtems_task_ident                                                    352
   rtems_message_queue_ident                                           343
   rtems_semaphore_ident                                               369
   rtems_partition_ident                                               342
   rtems_region_ident                                                  349
   rtems_port_ident                                                    342
   rtems_timer_ident                                                   344
   rtems_rate_monotonic_ident                                          343

22 rtems_message_queue_broadcast: task readied -- returns to caller    114
   rtems_message_queue_broadcast: no waiting tasks                      58
   rtems_message_queue_broadcast: task readied -- preempts caller      136

23 rtems_timer_create                                                   36
   rtems_timer_fire_after: inactive                                     64
   rtems_timer_fire_after: active                                       68
   rtems_timer_cancel: active                                           41
   rtems_timer_cancel: inactive                                         38
   rtems_timer_reset: inactive                                          59
   rtems_timer_reset: active                                            63
   rtems_timer_fire_when: inactive                                      93
   rtems_timer_fire_when: active                                        93
   rtems_timer_delete: active                                           54
   rtems_timer_delete: inactive                                         50
   rtems_task_wake_when                                                120

24 rtems_task_wake_after: yield -- returns to caller                    25
   rtems_task_wake_after: yields -- preempts caller                     63

25 rtems_clock_tick                                                     13

26 _ISR_Disable                                                          1
   _ISR_Flash                                                            1
   _ISR_Enable                                                           0
   _Thread_Disable_dispatch                                              1
   _Thread_Enable_dispatch                                              20
   _Thread_Set_state                                                    24
   _Thread_Disptach (NO FP)                                             52
   context switch: no floating point contexts                           43
   context switch: self                                                  9
   context switch: to another task                                       9
   context switch: restore 1st FP task                                  47
   fp context switch: save idle, restore idle                           73
   fp context switch: save idle, restore initialized                    60
   fp context switch: save initialized, restore initialized             58
   _Thread_Resume                                                       17
   _Thread_Unblock                                                      17
   _Thread_Ready                                                        22
   _Thread_Get                                                          11
   _Semaphore_Get                                                       10
   _Thread_Get: invalid id                                               2

27 interrupt entry overhead: returns to interrupted task                10
   interrupt exit overhead: returns to interrupted task                  9
   interrupt entry overhead: returns to nested interrupt                 9
   interrupt exit overhead: returns to nested interrupt                  6
   interrupt entry overhead: returns to preempting task                 10
   interrupt exit overhead: returns to preempting task                  62

28 rtems_port_create                                                    44
   rtems_port_external_to_internal                                      34
   rtems_port_internal_to_external                                      34
   rtems_port_delete                                                    45

29 rtems_rate_monotonic_create                                          41
   rtems_rate_monotonic_period: initiate period -- returns to caller    61
   rtems_rate_monotonic_period: obtain status                           39
   rtems_rate_monotonic_cancel                                          46
   rtems_rate_monotonic_delete: inactive                                55
   rtems_rate_monotonic_delete: active                                  58
   rtems_rate_monotonic_period: conclude periods -- caller blocks       82
