source: rtems/c/src/lib/libbsp/bfin/eZKit533/times @ d5154d0f

5
Last change on this file since d5154d0f was d5154d0f, checked in by Aun-Ali Zaidi <admin@…>, on 12/23/15 at 20:44:02

api: Remove deprecated Notepads

Notepads where a feature of RTEMS' tasks that simply functioned in
the same way as POSIX keys or threaded local storage (TLS). They were
introduced well before per task variables, which are also deprecated,
and were barely used in favor of their POSIX alternatives.

In addition to their scarce usage, Notepads took up unnecessary memory.
For each task:

  • 16 32-bit integers were allocated.
  • A total of 64 bytes per task per thread.

This is especially critical in low memory and safety-critical applications.

They are also defined as uint32_t, and therefore are not guaranteed to
hold a pointer.

Lastly, they are not portable solutions for SMP and uniprocessor systems,
like POSIX keys and TLS.

updates #2493.

  • Property mode set to 100644
File size: 11.5 KB
Line 
1#
2#  Timing Test Suite Results for the Ezkit533
3#
4
5Board: 
6CPU: Blackfin 533
7Clock Speed: 400 MHz
8Memory Configuration: SDRAM 133 MHz
9Wait States:
10
11Times Reported in: microseconds
12Timer Source: on-CPU cycle counter
13
14Column A: -o0 optimization
15Column B: -o2 optimization
16Column C: -o4 optimization
17
18#                          DESCRIPTION                                 A    B    C
19== =================================================================  ==== ==== ====
20 1 rtems_semaphore_create                                               42   17   17
21   rtems_semaphore_delete                                               34   17   16
22   rtems_semaphore_obtain: available                                    13    5    5
23   rtems_semaphore_obtain: not available -- NO_WAIT                     13    5    5
24   rtems_semaphore_release: no waiting tasks                            21   12   12
25
26 2 rtems_semaphore_obtain: not available -- caller blocks               86   39   37
27
28 3 rtems_semaphore_release: task readied -- preempts caller             NC
29
30 4 rtems_task_restart: blocked task -- preempts caller                  NC
31   rtems_task_restart: ready task -- preempts caller                    NC
32   rtems_semaphore_release: task readied -- returns to caller           NC
33   rtems_task_create                                                    NC
34   rtems_task_start                                                     NC
35   rtems_task_restart: suspended task -- returns to caller              NC
36   rtems_task_delete: suspended task                                    NC
37   rtems_task_restart: ready task -- returns to caller                  NC
38   rtems_task_restart: blocked task -- returns to caller                NC
39   rtems_task_delete: blocked task                                      NC
40
41 5 rtems_task_suspend: calling task                                     NC
42   rtems_task_resume: task readied -- preempts caller                   NC
43
44 6 rtems_task_restart: calling task                                     NC
45   rtems_task_suspend: returns to caller                                NC
46   rtems_task_resume: task readied -- returns to caller                 NC
47   rtems_task_delete: ready task                                        NC
48
49 7 rtems_task_restart: suspended task -- preempts caller                NC   50   49
50
51 8 rtems_task_set_priority: obtain current priority                     NC    8    8
52   rtems_task_set_priority: returns to caller                           NC   17   16
53   rtems_task_mode: obtain current mode                                 NC    6    6
54   rtems_task_mode: no reschedule                                       NC    6    6
55   rtems_task_mode: reschedule -- returns to caller                     NC    8    8
56   rtems_task_mode: reschedule -- preempts caller                       NC   31   30
57   rtems_clock_set                                                      NC   25   25
58   rtems_clock_get                                                      NC    2    2
59
60 9 rtems_message_queue_create                                           NC        63
61   rtems_message_queue_send: no waiting tasks                           NC        20
62   rtems_message_queue_urgent: no waiting tasks                         NC        20
63   rtems_message_queue_receive: available                               NC        20
64   rtems_message_queue_flush: no messages flushed                       NC         8
65   rtems_message_queue_flush: messages flushed                          NC        11
66   rtems_message_queue_delete                                           NC        28
67
6810 rtems_message_queue_receive: not available -- NO_WAIT                NC        11
69   rtems_message_queue_receive: not available -- caller blocks          NC        40
70
7111 rtems_message_queue_send: task readied -- preempts caller            NC
72
7312 rtems_message_queue_send: task readied -- returns to caller          NC
74
7513 rtems_message_queue_urgent: task readied -- preempts caller          NC
76
7714 rtems_message_queue_urgent: task readied -- returns to caller        NC
78
7915 rtems_event_receive: obtain current events                           NC         1
80   rtems_event_receive: not available -- NO_WAIT                        NC         7
81   rtems_event_receive: not available -- caller blocks                  NC        33
82   rtems_event_send: no task readied                                    NC         6
83   rtems_event_receive: available                                       NC         9
84   rtems_event_send: task readied -- returns to caller                  NC        13
85
8616 rtems_event_send: task readied -- preempts caller                    NC
87
8817 rtems_task_set_priority: preempts caller                             NC        38
89
9018 rtems_task_delete: calling task                                      NC       109
91
9219 rtems_signal_catch                                                   NC         6
93   rtems_signal_send: returns to caller                                 NC        10
94   rtems_signal_send: signal to self                                    NC        18
95   exit ASR overhead: returns to calling task                           NC        14
96   exit ASR overhead: returns to preempting task                        NC
97
9820 rtems_partition_create                                               NC         4
99   rtems_region_create                                                  NC         3
100   rtems_partition_get_buffer: available                                NC         8
101   rtems_partition_get_buffer: not available                            NC
102   rtems_partition_return_buffer                                        NC
103   rtems_partition_delete                                               NC
104   rtems_region_get_segment: available                                  NC
105   rtems_region_get_segment: not available -- NO_WAIT                   NC
106   rtems_region_return_segment: no waiting tasks                        NC
107   rtems_region_get_segment: not available -- caller blocks             NC
108   rtems_region_return_segment: task readied -- preempts caller         NC
109   rtems_region_return_segment: task readied -- returns to caller       NC
110   rtems_region_delete                                                  NC
111   rtems_io_initialize                                                  NC
112   rtems_io_open                                                        NC
113   rtems_io_close                                                       NC
114   rtems_io_read                                                        NC
115   rtems_io_write                                                       NC
116   rtems_io_control                                                     NC
117
11821 rtems_task_ident                                                     NC
119   rtems_message_queue_ident                                            NC
120   rtems_semaphore_ident                                                NC
121   rtems_partition_ident                                                NC
122   rtems_region_ident                                                   NC
123   rtems_port_ident                                                     NC
124   rtems_timer_ident                                                    NC
125   rtems_rate_monotonic_ident                                           NC
126
12722 rtems_message_queue_broadcast: task readied -- returns to caller     NC        25
128   rtems_message_queue_broadcast: no waiting tasks                      NC
129   rtems_message_queue_broadcast: task readied -- preempts caller       NC
130
13123 rtems_timer_create                                                   NC   10    9
132   rtems_timer_fire_after: inactive                                     NC   16   15
133   rtems_timer_fire_after: active                                       NC   17   17
134   rtems_timer_cancel: active                                           NC   10    9
135   rtems_timer_cancel: inactive                                         NC    8    7
136   rtems_timer_reset: inactive                                          NC   15   14
137   rtems_timer_reset: active                                            NC   16   16
138   rtems_timer_fire_when: inactive                                      NC   22   22
139   rtems_timer_fire_when: active                                        NC   23   22
140   rtems_timer_delete: active                                           NC   13   13
141   rtems_timer_delete: inactive                                         NC   12   11
142   rtems_task_wake_when                                                 NC   44   43
143
14424 rtems_task_wake_after: yield -- returns to caller                    NC         6
145   rtems_task_wake_after: yields -- preempts caller                     NC        27
146
14725 rtems_clock_tick                                                     NC         6
148
14926 _ISR_Disable                                                         NC
150   _ISR_Flash                                                           NC
151   _ISR_Enable                                                          NC
152   _Thread_Disable_dispatch                                             NC
153   _Thread_Enable_dispatch                                              NC
154   _Thread_Set_state                                                    NC
155   _Thread_Disptach (NO FP)                                             NC
156   context switch: no floating point contexts                           NC
157   context switch: self                                                 NC
158   context switch: to another task                                      NC
159   context switch: restore 1st FP task                                  NC
160   fp context switch: save idle, restore idle                           NC
161   fp context switch: save idle, restore initialized                    NC
162   fp context switch: save initialized, restore initialized             NC
163   _Thread_Resume                                                       NC
164   _Thread_Unblock                                                      NC
165   _Thread_Ready                                                        NC
166   _Thread_Get                                                          NC
167   _Semaphore_Get                                                       NC
168   _Thread_Get: invalid id                                              NC
169
17027 interrupt entry overhead: returns to interrupted task                NC         0
171   interrupt exit overhead: returns to interrupted task                 NC         0
172   interrupt entry overhead: returns to nested interrupt                NC         0
173   interrupt exit overhead: returns to nested interrupt                 NC         0
174   interrupt entry overhead: returns to preempting task                 NC         0
175   interrupt exit overhead: returns to preempting task                  NC
176
17728 rtems_port_create                                                    NC        12
178   rtems_port_external_to_internal                                      NC         7
179   rtems_port_internal_to_external                                      NC         7
180   rtems_port_delete                                                    NC        11
181
18229 rtems_rate_monotonic_create                                          27   12   12
183   rtems_rate_monotonic_period: initiate period -- returns to caller    30   15   15
184   rtems_rate_monotonic_period: obtain status                           14    9    9
185   rtems_rate_monotonic_cancel                                          21   12   11
186   rtems_rate_monotonic_delete: inactive                                26   14   14
187   rtems_rate_monotonic_delete: active                                  32   15   15
188   rtems_rate_monotonic_period: conclude periods -- caller blocks       NC
Note: See TracBrowser for help on using the repository browser.