source: rtems/c/src/lib/libbsp/sh/gensh1/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.0 KB
Line 
1#
2#  Timing Test Suite Results for the generic sh1
3#
4#  NOTE: Due to memory shortage the timing test suite could not yet be run.
5#
6#  Author: Ralf Corsepius (corsepiu@faw.uni-ulm.de)
7#
8
9Board:  Diesner OktagonSH/AMOS-2.1
10CPU: Hitachi SH 7032
11Clock Speed: 20MHz
12Memory Configuration: 8k on-chip ram, 256k external RAM in Area 4
13Wait States:
14
15Times Reported in: cycles, microseconds, etc
16Timer Source: Count Down Timer, on-CPU cycle counter, etc
17
18Column A:
19Column B:
20
21#                          DESCRIPTION                                 A    B
22== =================================================================  ==== ====
23 1 rtems_semaphore_create                                                X
24   rtems_semaphore_delete                                                X
25   rtems_semaphore_obtain: available                                     X
26   rtems_semaphore_obtain: not available -- NO_WAIT                      X
27   rtems_semaphore_release: no waiting tasks                             X
28
29 2 rtems_semaphore_obtain: not available -- caller blocks                X
30
31 3 rtems_semaphore_release: task readied -- preempts caller              X
32
33 4 rtems_task_restart: blocked task -- preempts caller                   X
34   rtems_task_restart: ready task -- preempts caller                     X
35   rtems_semaphore_release: task readied -- returns to caller            X
36   rtems_task_create                                                     X
37   rtems_task_start                                                      X
38   rtems_task_restart: suspended task -- returns to caller               X
39   rtems_task_delete: suspended task                                     X
40   rtems_task_restart: ready task -- returns to caller                   X
41   rtems_task_restart: blocked task -- returns to caller                 X
42   rtems_task_delete: blocked task                                       X
43
44 5 rtems_task_suspend: calling task                                      X
45   rtems_task_resume: task readied -- preempts caller                    X
46
47 6 rtems_task_restart: calling task                                      X
48   rtems_task_suspend: returns to caller                                 X
49   rtems_task_resume: task readied -- returns to caller                  X
50   rtems_task_delete: ready task                                         X
51
52 7 rtems_task_restart: suspended task -- preempts caller                 X
53
54 8 rtems_task_set_priority: obtain current priority                      X
55   rtems_task_set_priority: returns to caller                            X
56   rtems_task_mode: obtain current mode                                  X
57   rtems_task_mode: no reschedule                                        X
58   rtems_task_mode: reschedule -- returns to caller                      X
59   rtems_task_mode: reschedule -- preempts caller                        X
60   rtems_clock_set                                                       X
61   rtems_clock_get                                                       X
62
63 9 rtems_message_queue_create                                            X
64   rtems_message_queue_send: no waiting tasks                            X
65   rtems_message_queue_urgent: no waiting tasks                          X
66   rtems_message_queue_receive: available                                X
67   rtems_message_queue_flush: no messages flushed                        X
68   rtems_message_queue_flush: messages flushed                           X
69   rtems_message_queue_delete                                            X
70
7110 rtems_message_queue_receive: not available -- NO_WAIT                 X
72   rtems_message_queue_receive: not available -- caller blocks           X
73
7411 rtems_message_queue_send: task readied -- preempts caller             X
75
7612 rtems_message_queue_send: task readied -- returns to caller           X
77
7813 rtems_message_queue_urgent: task readied -- preempts caller           X
79
8014 rtems_message_queue_urgent: task readied -- returns to caller         X
81
8215 rtems_event_receive: obtain current events                            X
83   rtems_event_receive: not available -- NO_WAIT                         X
84   rtems_event_receive: not available -- caller blocks                   X
85   rtems_event_send: no task readied                                     X
86   rtems_event_receive: available                                        X
87   rtems_event_send: task readied -- returns to caller                   X
88
8916 rtems_event_send: task readied -- preempts caller                     X
90
9117 rtems_task_set_priority: preempts caller                              X
92
9318 rtems_task_delete: calling task                                       X
94
9519 rtems_signal_catch                                                    X
96   rtems_signal_send: returns to caller                                  X
97   rtems_signal_send: signal to self                                     X
98   exit ASR overhead: returns to calling task                            X
99   exit ASR overhead: returns to preempting task                         X
100
10120 rtems_partition_create                                                X
102   rtems_region_create                                                   X
103   rtems_partition_get_buffer: available                                 X
104   rtems_partition_get_buffer: not available                             X
105   rtems_partition_return_buffer                                         X
106   rtems_partition_delete                                                X
107   rtems_region_get_segment: available                                   X
108   rtems_region_get_segment: not available -- NO_WAIT                    X
109   rtems_region_return_segment: no waiting tasks                         X
110   rtems_region_get_segment: not available -- caller blocks              X
111   rtems_region_return_segment: task readied -- preempts caller          X
112   rtems_region_return_segment: task readied -- returns to caller        X
113   rtems_region_delete                                                   X
114   rtems_io_initialize                                                   X
115   rtems_io_open                                                         X
116   rtems_io_close                                                        X
117   rtems_io_read                                                         X
118   rtems_io_write                                                        X
119   rtems_io_control                                                      X
120
12121 rtems_task_ident                                                      X
122   rtems_message_queue_ident                                             X
123   rtems_semaphore_ident                                                 X
124   rtems_partition_ident                                                 X
125   rtems_region_ident                                                    X
126   rtems_port_ident                                                      X
127   rtems_timer_ident                                                     X
128   rtems_rate_monotonic_ident                                            X
129
13022 rtems_message_queue_broadcast: task readied -- returns to caller      X
131   rtems_message_queue_broadcast: no waiting tasks                       X
132   rtems_message_queue_broadcast: task readied -- preempts caller        X
133
13423 rtems_timer_create                                                    X
135   rtems_timer_fire_after: inactive                                      X
136   rtems_timer_fire_after: active                                        X
137   rtems_timer_cancel: active                                            X
138   rtems_timer_cancel: inactive                                          X
139   rtems_timer_reset: inactive                                           X
140   rtems_timer_reset: active                                             X
141   rtems_timer_fire_when: inactive                                       X
142   rtems_timer_fire_when: active                                         X
143   rtems_timer_delete: active                                            X
144   rtems_timer_delete: inactive                                          X
145   rtems_task_wake_when                                                  X
146
14724 rtems_task_wake_after: yield -- returns to caller                     X
148   rtems_task_wake_after: yields -- preempts caller                      X
149
15025 rtems_clock_tick                                                      X
151
15226 _ISR_Disable                                                          X
153   _ISR_Flash                                                            X
154   _ISR_Enable                                                           X
155   _Thread_Disable_dispatch                                              X
156   _Thread_Enable_dispatch                                               X
157   _Thread_Set_state                                                     X
158   _Thread_Disptach (NO FP)                                              X
159   context switch: no floating point contexts                            X
160   context switch: self                                                  X
161   context switch: to another task                                       X
162   context switch: restore 1st FP task                                   X
163   fp context switch: save idle, restore idle                            X
164   fp context switch: save idle, restore initialized                     X
165   fp context switch: save initialized, restore initialized              X
166   _Thread_Resume                                                        X
167   _Thread_Unblock                                                       X
168   _Thread_Ready                                                         X
169   _Thread_Get                                                           X
170   _Semaphore_Get                                                        X
171   _Thread_Get: invalid id                                               X
172
17327 interrupt entry overhead: returns to interrupted task                 X
174   interrupt exit overhead: returns to interrupted task                  X
175   interrupt entry overhead: returns to nested interrupt                 X
176   interrupt exit overhead: returns to nested interrupt                  X
177   interrupt entry overhead: returns to preempting task                  X
178   interrupt exit overhead: returns to preempting task                   X
179
18028 rtems_port_create                                                     X
181   rtems_port_external_to_internal                                       X
182   rtems_port_internal_to_external                                       X
183   rtems_port_delete                                                     X
184
18529 rtems_rate_monotonic_create                                           X
186   rtems_rate_monotonic_period: initiate period -- returns to caller     X
187   rtems_rate_monotonic_period: obtain status                            X
188   rtems_rate_monotonic_cancel                                           X
189   rtems_rate_monotonic_delete: inactive                                 X
190   rtems_rate_monotonic_delete: active                                   X
191   rtems_rate_monotonic_period: conclude periods -- caller blocks        X
Note: See TracBrowser for help on using the repository browser.