source: rtems/c/src/lib/libbsp/nios2/nios2_iss/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: 10.9 KB
Line 
1#
2#  Timing Test Suite Results for the NO_BSP
3#
4#  NOTE: This is just a template.  The times are irrelevant since this BSP
5#        can only be compiled -- not executed.
6
7Board: 
8CPU: include coprocessor if applicable
9Clock Speed:
10Memory Configuration: SRAM, DRAM, cache, etc
11Wait States:
12
13Times Reported in: cycles, microseconds, etc
14Timer Source: Count Down Timer, on-CPU cycle counter, etc
15
16Column X:
17Column Y:
18
19#                          DESCRIPTION                                 A    B
20== =================================================================  ==== ====
21 1 rtems_semaphore_create                                               20
22   rtems_semaphore_delete                                               21
23   rtems_semaphore_obtain: available                                    15
24   rtems_semaphore_obtain: not available -- NO_WAIT                     15
25   rtems_semaphore_release: no waiting tasks                            16
26
27 2 rtems_semaphore_obtain: not available -- caller blocks               62
28
29 3 rtems_semaphore_release: task readied -- preempts caller             55
30
31 4 rtems_task_restart: blocked task -- preempts caller                  77
32   rtems_task_restart: ready task -- preempts caller                    70
33   rtems_semaphore_release: task readied -- returns to caller           25
34   rtems_task_create                                                    57
35   rtems_task_start                                                     31
36   rtems_task_restart: suspended task -- returns to caller              36
37   rtems_task_delete: suspended task                                    47
38   rtems_task_restart: ready task -- returns to caller                  37
39   rtems_task_restart: blocked task -- returns to caller                46
40   rtems_task_delete: blocked task                                      50
41
42 5 rtems_task_suspend: calling task                                     51
43   rtems_task_resume: task readied -- preempts caller                   49
44
45 6 rtems_task_restart: calling task                                     59
46   rtems_task_suspend: returns to caller                                18
47   rtems_task_resume: task readied -- returns to caller                 19
48   rtems_task_delete: ready task                                        50
49
50 7 rtems_task_restart: suspended task -- preempts caller                70
51
52 8 rtems_task_set_priority: obtain current priority                     12
53   rtems_task_set_priority: returns to caller                           27
54   rtems_task_mode: obtain current mode                                  5
55   rtems_task_mode: no reschedule                                        5
56   rtems_task_mode: reschedule -- returns to caller                      8
57   rtems_task_mode: reschedule -- preempts caller                       39
58   rtems_clock_set                                                      33
59   rtems_clock_get                                                       3
60
61 9 rtems_message_queue_create                                          110
62   rtems_message_queue_send: no waiting tasks                           37
63   rtems_message_queue_urgent: no waiting tasks                         37
64   rtems_message_queue_receive: available                               31
65   rtems_message_queue_flush: no messages flushed                       12
66   rtems_message_queue_flush: messages flushed                          16
67   rtems_message_queue_delete                                           26
68
6910 rtems_message_queue_receive: not available -- NO_WAIT                15
70   rtems_message_queue_receive: not available -- caller blocks          62
71
7211 rtems_message_queue_send: task readied -- preempts caller            72
73
7412 rtems_message_queue_send: task readied -- returns to caller          39
75
7613 rtems_message_queue_urgent: task readied -- preempts caller          72
77
7814 rtems_message_queue_urgent: task readied -- returns to caller        39
79
8015 rtems_event_receive: obtain current events                            1
81   rtems_event_receive: not available -- NO_WAIT                        12
82   rtems_event_receive: not available -- caller blocks                  56
83   rtems_event_send: no task readied                                    12
84   rtems_event_receive: available                                       12
85   rtems_event_send: task readied -- returns to caller                  24
86
8716 rtems_event_send: task readied -- preempts caller                    55
88
8917 rtems_task_set_priority: preempts caller                             62
90
9118 rtems_task_delete: calling task                                      83
92
9319 rtems_signal_catch                                                    9
94   rtems_signal_send: returns to caller                                 15
95   rtems_signal_send: signal to self                                    18
96   exit ASR overhead: returns to calling task                           22
97   exit ASR overhead: returns to preempting task                        49
98
9920 rtems_partition_create                                               35
100   rtems_region_create                                                  23
101   rtems_partition_get_buffer: available                                15
102   rtems_partition_get_buffer: not available                            13
103   rtems_partition_return_buffer                                        18
104   rtems_partition_delete                                               16
105   rtems_region_get_segment: available                                  22
106   rtems_region_get_segment: not available -- NO_WAIT                   21
107   rtems_region_return_segment: no waiting tasks                        19
108   rtems_region_get_segment: not available -- caller blocks             64
109   rtems_region_return_segment: task readied -- preempts caller         74
110   rtems_region_return_segment: task readied -- returns to caller       44
111   rtems_region_delete                                                  16
112   rtems_io_initialize                                                   2
113   rtems_io_open                                                         1
114   rtems_io_close                                                        1
115   rtems_io_read                                                         1
116   rtems_io_write                                                        1
117   rtems_io_control                                                      1
118
11921 rtems_task_ident                                                    149
120   rtems_message_queue_ident                                           145
121   rtems_semaphore_ident                                               156
122   rtems_partition_ident                                               145
123   rtems_region_ident                                                  148
124   rtems_port_ident                                                    145
125   rtems_timer_ident                                                   145
126   rtems_rate_monotonic_ident                                          145
127
12822 rtems_message_queue_broadcast: task readied -- returns to caller     42
129   rtems_message_queue_broadcast: no waiting tasks                      17
130   rtems_message_queue_broadcast: task readied -- preempts caller       78
131
13223 rtems_timer_create                                                   14
133   rtems_timer_fire_after: inactive                                     22
134   rtems_timer_fire_after: active                                       24
135   rtems_timer_cancel: active                                           15
136   rtems_timer_cancel: inactive                                         13
137   rtems_timer_reset: inactive                                          21
138   rtems_timer_reset: active                                            23
139   rtems_timer_fire_when: inactive                                      34
140   rtems_timer_fire_when: active                                        34
141   rtems_timer_delete: active                                           19
142   rtems_timer_delete: inactive                                         17
143   rtems_task_wake_when                                                 69
144
14524 rtems_task_wake_after: yield -- returns to caller                     9
146   rtems_task_wake_after: yields -- preempts caller                     45
147
14825 rtems_clock_tick                                                      4
149
15026 _ISR_Disable                                                          0
151   _ISR_Flash                                                            1
152   _ISR_Enable                                                           1
153   _Thread_Disable_dispatch                                              0
154   _Thread_Enable_dispatch                                               7
155   _Thread_Set_state                                                    11
156   _Thread_Disptach (NO FP)                                             31
157   context switch: no floating point contexts                           21
158   context switch: self                                                 10
159   context switch: to another task                                      10
160   context switch: restore 1st FP task                                  25
161   fp context switch: save idle, restore idle                           31
162   fp context switch: save idle, restore initialized                    19
163   fp context switch: save initialized, restore initialized             20
164   _Thread_Resume                                                        7
165   _Thread_Unblock                                                       7
166   _Thread_Ready                                                         9
167   _Thread_Get                                                           4
168   _Semaphore_Get                                                        2
169   _Thread_Get: invalid id                                               0
170
17127 interrupt entry overhead: returns to interrupted task                 6
172   interrupt exit overhead: returns to interrupted task                  6
173   interrupt entry overhead: returns to nested interrupt                 6
174   interrupt exit overhead: returns to nested interrupt                  5
175   interrupt entry overhead: returns to preempting task                  7
176   interrupt exit overhead: returns to preempting task                  36
177
17828 rtems_port_create                                                    16
179   rtems_port_external_to_internal                                      11
180   rtems_port_internal_to_external                                      11
181   rtems_port_delete                                                    16
182
18329 rtems_rate_monotonic_create                                          15
184   rtems_rate_monotonic_period: initiate period -- returns to caller    21
185   rtems_rate_monotonic_period: obtain status                           13
186   rtems_rate_monotonic_cancel                                          16
187   rtems_rate_monotonic_delete: inactive                                18
188   rtems_rate_monotonic_delete: active                                  20
189   rtems_rate_monotonic_period: conclude periods -- caller blocks       53
Note: See TracBrowser for help on using the repository browser.