source: rtems/c/src/lib/libbsp/i386/pc386/times_p5 @ 4ff09d5b

5
Last change on this file since 4ff09d5b 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.1 KB
Line 
1#
2#  Timing Test Suite Results for the pc386 BSP using a Pentium
3#
4
5NOTE:  To obtain the execution time in microseconds, divide the number of
6       cycles by the clock speed.  For example, if rtems_semaphore create
7       is reported to be 1164 cycles, then at 66 Mhz it takes 17.64
8       microseconds or 8.75 microseconds at 133 Mhz.
9
10Board:                PC/AT clone
11CPU:                  Intel Pentium
12Clock Speed:          66 Mhz
13Memory Configuration: DRAM w/512 Kb cache
14Wait States:          unknown
15
16Times Reported in:    cycles
17Timer Source:         on-CPU cycle counter
18
19Column A:             3.5.1 pre-release
20Column Y:             unused
21
22#                          DESCRIPTION                                 A    B
23== =================================================================  ==== ====
24 1 rtems_semaphore_create                                             1164
25   rtems_semaphore_delete                                              976
26   rtems_semaphore_obtain: available                                   300
27   rtems_semaphore_obtain: not available -- NO_WAIT                    300
28   rtems_semaphore_release: no waiting tasks                           291
29
30 2 rtems_semaphore_obtain: not available -- caller blocks             1182
31
32 3 rtems_semaphore_release: task readied -- preempts caller            716
33
34 4 rtems_task_restart: blocked task -- preempts caller                2130
35   rtems_task_restart: ready task -- preempts caller                  1861
36   rtems_semaphore_release: task readied -- returns to caller          491
37   rtems_task_create                                                  1017
38   rtems_task_start                                                    965
39   rtems_task_restart: suspended task -- returns to caller             816
40   rtems_task_delete: suspended task                                   926
41   rtems_task_restart: ready task -- returns to caller                 850
42   rtems_task_restart: blocked task -- returns to caller              1076
43   rtems_task_delete: blocked task                                     927
44
45 5 rtems_task_suspend: calling task                                    714
46   rtems_task_resume: task readied -- preempts caller                  575
47
48 6 rtems_task_restart: calling task                                    646
49   rtems_task_suspend: returns to caller                               309
50   rtems_task_resume: task readied -- returns to caller                320
51   rtems_task_delete: ready task                                       994
52
53 7 rtems_task_restart: suspended task -- preempts caller              1025
54
55 8 rtems_task_set_priority: obtain current priority                    223
56   rtems_task_set_priority: returns to caller                          468
57   rtems_task_mode: obtain current mode                                 99
58   rtems_task_mode: no reschedule                                      114
59   rtems_task_mode: reschedule -- returns to caller                    264
60   rtems_task_mode: reschedule -- preempts caller                      836
61   rtems_clock_set                                                     569
62   rtems_clock_get                                                     107
63
64 9 rtems_message_queue_create                                         3287
65   rtems_message_queue_send: no waiting tasks                          613
66   rtems_message_queue_urgent: no waiting tasks                        615
67   rtems_message_queue_receive: available                              534
68   rtems_message_queue_flush: no messages flushed                      252
69   rtems_message_queue_flush: messages flushed                         335
70   rtems_message_queue_delete                                         1195
71
7210 rtems_message_queue_receive: not available -- NO_WAIT               333
73   rtems_message_queue_receive: not available -- caller blocks        1194
74
7511 rtems_message_queue_send: task readied -- preempts caller           957
76
7712 rtems_message_queue_send: task readied -- returns to caller         700
78
7913 rtems_message_queue_urgent: task readied -- preempts caller        1261
80
8114 rtems_message_queue_urgent: task readied -- returns to caller       697
82
8315 rtems_event_receive: obtain current events                           27
84   rtems_event_receive: not available -- NO_WAIT                       226
85   rtems_event_receive: not available -- caller blocks                 888
86   rtems_event_send: no task readied                                   221
87   rtems_event_receive: available                                      393
88   rtems_event_send: task readied -- returns to caller                 496
89
9016 rtems_event_send: task readied -- preempts caller                   719
91
9217 rtems_task_set_priority: preempts caller                            959
93
9418 rtems_task_delete: calling task                                    1295
95
9619 rtems_signal_catch                                                  223
97   rtems_signal_send: returns to caller                                628
98   rtems_signal_send: signal to self                                   821
99   exit ASR overhead: returns to calling task                          401
100   exit ASR overhead: returns to preempting task                       482
101
10220 rtems_partition_create                                             1337
103   rtems_region_create                                                1031
104   rtems_partition_get_buffer: available                               680
105   rtems_partition_get_buffer: not available                           303
106   rtems_partition_return_buffer                                       617
107   rtems_partition_delete                                              523
108   rtems_region_get_segment: available                                 458
109   rtems_region_get_segment: not available -- NO_WAIT                  565
110   rtems_region_return_segment: no waiting tasks                       388
111   rtems_region_get_segment: not available -- caller blocks           1683
112   rtems_region_return_segment: task readied -- preempts caller       1476
113   rtems_region_return_segment: task readied -- returns to caller      818
114   rtems_region_delete                                                 477
115   rtems_io_initialize                                                  48
116   rtems_io_open                                                        22
117   rtems_io_close                                                       22
118   rtems_io_read                                                        22
119   rtems_io_write                                                       22
120   rtems_io_control                                                     23
121
12221 rtems_task_ident                                                   3381
123   rtems_message_queue_ident                                          3328
124   rtems_semaphore_ident                                              3593
125   rtems_partition_ident                                              3286
126   rtems_region_ident                                                 3343
127   rtems_port_ident                                                   3278
128   rtems_timer_ident                                                  3282
129   rtems_rate_monotonic_ident                                         3287
130
13122 rtems_message_queue_broadcast: task readied -- returns to caller   1322
132   rtems_message_queue_broadcast: no waiting tasks                     347
133   rtems_message_queue_broadcast: task readied -- preempts caller     1385
134
13523 rtems_timer_create                                                  306
136   rtems_timer_fire_after: inactive                                    475
137   rtems_timer_fire_after: active                                      475
138   rtems_timer_cancel: active                                          277
139   rtems_timer_cancel: inactive                                        251
140   rtems_timer_reset: inactive                                         391
141   rtems_timer_reset: active                                           465
142   rtems_timer_fire_when: inactive                                     577
143   rtems_timer_fire_when: active                                       578
144   rtems_timer_delete: active                                          377
145   rtems_timer_delete: inactive                                        350
146   rtems_task_wake_when                                               1080
147
14824 rtems_task_wake_after: yield -- returns to caller                   159
149   rtems_task_wake_after: yields -- preempts caller                    574
150
15125 rtems_clock_tick                                                    505
152
15326 _ISR_Disable                                                         33
154   _ISR_Flash                                                           33
155   _ISR_Enable                                                          26
156   _Thread_Disable_dispatch                                             36
157   _Thread_Enable_dispatch                                             240
158   _Thread_Set_state                                                   315
159   _Thread_Disptach (NO FP)                                            623
160   context switch: no floating point contexts                          594
161   context switch: self                                                 89
162   context switch: to another task                                     122
163   context switch: restore 1st FP task                                1043
164   fp context switch: save idle, restore idle                          978
165   fp context switch: save idle, restore initialized                   390
166   fp context switch: save initialized, restore initialized            392
167   _Thread_Resume                                                      238
168   _Thread_Unblock                                                     171
169   _Thread_Ready                                                       176
170   _Thread_Get                                                          71
171   _Semaphore_Get                                                       61
172   _Thread_Get: invalid id                                              10
173
17427 interrupt entry overhead: returns to interrupted task               391
175   interrupt exit overhead: returns to interrupted task                110
176   interrupt entry overhead: returns to nested interrupt               167
177   interrupt exit overhead: returns to nested interrupt                120
178   interrupt entry overhead: returns to preempting task                193
179   interrupt exit overhead: returns to preempting task                 961
180
18128 rtems_port_create                                                   668
182   rtems_port_external_to_internal                                     215
183   rtems_port_internal_to_external                                     211
184   rtems_port_delete                                                   491
185
18629 rtems_rate_monotonic_create                                         823
187   rtems_rate_monotonic_period: initiate period -- returns to caller  1094
188   rtems_rate_monotonic_period: obtain status                          345
189   rtems_rate_monotonic_cancel                                         602
190   rtems_rate_monotonic_delete: inactive                               553
191   rtems_rate_monotonic_delete: active                                 528
192   rtems_rate_monotonic_period: conclude periods -- caller blocks      672
Note: See TracBrowser for help on using the repository browser.