source: rtems/c/src/lib/libbsp/arm/edb7312/times @ e56090ef

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