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