source: rtems/c/src/lib/libbsp/arm/csb337/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: 13.5 KB
Line 
1#
2#  Timing Test Suite Results for the Cogent CSB337 AT91RM9200 based SBC.
3#
4
5#
6
7Board:  Cogent CSB337
8CPU: AT91RM200 - ARM920T
9Clock Speed: 184 MHz
10Memory Configuration: SDRAM, 32 bits wide
11
12Times Reported in: nanoseconds
13Timer Source: TC0, using timer_clock2 - 173 ns resolution
14
15All tests were compiled with VARIANT=DEBUG
16
17
18                                                          cache state:  none     I only  both   
19== ===================================================================  =======  ======= =======
20 1 rtems_semaphore_create                                               25258    24220   14878   
21 1 rtems_semaphore_delete                                               25604    25777   15570   
22 1 rtems_semaphore_obtain: available                                    8227     8227    2876   
23 1 rtems_semaphore_obtain: not available -- NO_WAIT                     8228     8228    2876   
24 1 rtems_semaphore_release: no waiting tasks                            14718    14718   5947   
25
26 2 rtems_semaphore_obtain: not available -- caller blocks               42779    42803   19163   
27
28 3 rtems_semaphore_release: task readied -- preempts caller             32518    32522   15196   
29
30 4 rtems_task_restart: blocked task -- preempts caller                  76466    75255   42731   
31 4 rtems_task_restart: ready task -- preempts caller                    71276    71622   35638   
32 4 rtems_semaphore_release: task readied -- returns to caller           21202    21218   9188   
33 4 rtems_task_create                                                    76725    76753   34138   
34 4 rtems_task_start                                                     30470    30468   12108   
35 4 rtems_task_restart: suspended task -- returns to caller              35973    35937   14440   
36 4 rtems_task_delete: suspended task                                    65546    65528   30141   
37 4 rtems_task_restart: ready task -- returns to caller                  37046    37087   14654   
38 4 rtems_task_restart: blocked task -- returns to caller                43506    43549   18857   
39 4 rtems_task_delete: blocked task                                      68155    68110   31268   
40
41 5 rtems_task_suspend: calling task                                     34020    33985   14128   
42 5 rtems_task_resume: task readied -- preempts caller                   27956    27942   11641   
43
44 6 rtems_task_restart: calling task                                     45360    45360   14846   
45 6 rtems_task_suspend: returns to caller                                15398    15393   6722   
46 6 rtems_task_resume: task readied -- returns to caller                 17206    17211   6544   
47 6 rtems_task_delete: ready task                                        68696    68681   31434   
48
49 7 rtems_task_restart: suspended task -- preempts caller                54129    54104   22877   
50
51 8 rtems_task_set_priority: obtain current priority                     10869    10867   4267   
52 8 rtems_task_set_priority: returns to caller                           25368    25351   8487   
53 8 rtems_task_mode: obtain current mode                                 5835     5830    2501   
54 8 rtems_task_mode: no reschedule                                       5998     5995    2645   
55 8 rtems_task_mode: reschedule -- returns to caller                     12110    11764   6055   
56 8 rtems_task_mode: reschedule -- preempts caller                       33043    34773   18338   
57 8 rtems_clock_set                                                      33141    33145   10160   
58 8 rtems_clock_get                                                      2920     2921    811     
59
60 9 rtems_message_queue_create                                           74390    75601   46883   
61 9 rtems_message_queue_send: no waiting tasks                           20387    20387   8702   
62 9 rtems_message_queue_urgent: no waiting tasks                         20379    20379   8632   
63 9 rtems_message_queue_receive: available                               22941    22941   8487   
64 9 rtems_message_queue_flush: no messages flushed                       13459    13455   5932   
65 9 rtems_message_queue_flush: messages flushed                          15808    15794   6802   
66 9 rtems_message_queue_delete                                           32351    33043   20414   
67
6810 rtems_message_queue_receive: not available -- NO_WAIT                14282    14296   4859   
6910 rtems_message_queue_receive: not available -- caller blocks          43862    43794   19374   
70
7111 rtems_message_queue_send: task readied -- preempts caller            35025    35054   16997   
72
7312 rtems_message_queue_send: task readied -- returns to caller          24213    24194   11113   
74
7513 rtems_message_queue_urgent: task readied -- preempts caller          35004    24190   17099   
76
7714 rtems_message_queue_urgent: task readied -- returns to caller        24190    35042   11087   
78
7915 rtems_event_receive: obtain current events                           1847     1849    560     
8015 rtems_event_receive: not available -- NO_WAIT                        10207    10210   3541   
8115 rtems_event_receive: not available -- caller blocks                  36305    36444   16165   
8215 rtems_event_send: no task readied                                    10879    10871   4055   
8315 rtems_event_receive: available                                       14359    14705   7439   
8415 rtems_event_send: task readied -- returns to caller                  20730    20727   9674   
85
8616 rtems_event_send: task readied -- preempts caller                    33179    33210   15246   
87
8817 rtems_task_set_priority: preempts caller                             44149    44232   18573   
89
9018 rtems_task_delete: calling task                                      85693    85685   38982   
91
9219 rtems_signal_catch                                                   11418    11764   6401   
9319 rtems_signal_send: returns to caller                                 20414    20414   14705   
9419 rtems_signal_send: signal to self                                    33043    33043   23182   
9519 exit ASR overhead: returns to calling task                           18684    18857   11591   
9619 exit ASR overhead: returns to preempting task                        27680    26988   13321   
97
9820 rtems_partition_create                                               30621    31486   20587   
9920 rtems_region_create                                                  47921    46710   29410   
10020 rtems_partition_get_buffer: available                                16435    16781   12283   
10120 rtems_partition_get_buffer: not available                            13840    13494   6228   
10220 rtems_partition_return_buffer                                        18338    18684   10207   
10320 rtems_partition_delete                                               19203    21279   10380   
10420 rtems_region_get_segment: available                                  36849    36676   16608   
10520 rtems_region_get_segment: not available -- NO_WAIT                   35984    35119   17819   
10620 rtems_region_return_segment: no waiting tasks                        34254    34254   15916   
10720 rtems_region_get_segment: not available -- caller blocks             76639    76639   42385   
10820 rtems_region_return_segment: task readied -- preempts caller         71968    73006   37714   
10920 rtems_region_return_segment: task readied -- returns to caller       58128    57263   24220   
11020 rtems_region_delete                                                  37368    38060   22144   
11120 rtems_io_initialize                                                  3807     3788    1332   
11220 rtems_io_open                                                        2565     2560    854     
11320 rtems_io_close                                                       2565     2558    863     
11420 rtems_io_read                                                        2560     2550    852     
11520 rtems_io_write                                                       2638     2638    908     
11620 rtems_io_control                                                     2556     2556    854     
117
11821 rtems_task_ident                                                     88425    88427   41471   
11921 rtems_message_queue_ident                                            85875    85887   40243   
12021 rtems_semaphore_ident                                                98762    98763   46357   
12121 rtems_partition_ident                                                85825    85816   40255   
12221 rtems_region_ident                                                   87409    87413   41071   
12321 rtems_port_ident                                                     85567    85551   40167   
12421 rtems_timer_ident                                                    85801    85795   40289   
12521 rtems_rate_monotonic_ident                                           85787    85780   40315   
126
12722 rtems_message_queue_broadcast: task readied -- returns to caller     39271    38752   26469   
12822 rtems_message_queue_broadcast: no waiting tasks                      15305    15308    6406   
12922 rtems_message_queue_broadcast: task readied -- preempts caller       43077    43250   22144   
130
13123 rtems_timer_create                                                   11144    11151   4421   
13223 rtems_timer_fire_after: inactive                                     22863    22848   7918   
13323 rtems_timer_fire_after: active                                       25072    25074   8092   
13423 rtems_timer_cancel: active                                           13078    13073   4392   
13523 rtems_timer_cancel: inactive                                         10834    10841   3710   
13623 rtems_timer_reset: inactive                                          22254    22242   7096   
13723 rtems_timer_reset: active                                            24450    24446   7608   
13823 rtems_timer_fire_when: inactive                                      33001    33008   10186   
13923 rtems_timer_fire_when: active                                        33004    33025   10148   
14023 rtems_timer_delete: active                                           17280    17289   5580   
14123 rtems_timer_delete: inactive                                         15102    15099   5006   
14223 rtems_task_wake_when                                                 51777    51825   20185   
143
14424 rtems_task_wake_after: yield -- returns to caller                    8205     8208    2932   
14524 rtems_task_wake_after: yields -- preempts caller                     27998    28006   11879   
146
14725 rtems_clock_tick                                                     14878    14878   11764   
148
14926 _ISR_Disable                                                         4325     4325    3806   
15026 _ISR_Flash                                                           3633     3633    2768   
15126 _ISR_Enable                                                          3806     3806    2595   
15226 _Thread_Disable_dispatch                                             4325     4498    2941   
15326 _Thread_Enable_dispatch                                              8131     7958    4325   
15426 _Thread_Set_state                                                    14705    15051   6055   
15526 _Thread_Disptach (NO FP)                                             24047    25258   13840   
15626 context switch: no floating point contexts                           16781    17127   11418   
15726 context switch: self                                                 4671     4671    3287   
15826 context switch: to another task                                      5363     5536    3806   
15926 fp context switch: restore 1st FP task -                             NA       NA      NA     
16026 fp context switch: save idle, restore initialized -                  NA       NA      NA     
16126 fp context switch: save idle, restore idle -                         NA       NA      NA     
16226 fp context switch: save initialized, restore initialized -           NA       NA      NA     
16326 _Thread_Resume                                                       14705    14705   10034   
16426 _Thread_Unblock                                                      13840    14186   8304   
16526 _Thread_Ready                                                        13148    13148   5190   
16626 _Thread_Get                                                          4909     4916    2003   
16726 _Semaphore_Get                                                       3430     3427    1055   
16826 _Thread_Get: invalid id                                              1809     1807    998     
169
17027 interrupt entry overhead: returns to interrupted task                0        0       0
17127 interrupt exit overhead: returns to interrupted task                 0        0       0
17227 interrupt entry overhead: returns to nested interrupt                0        0       0       
17327 interrupt exit overhead: returns to nested interrupt                 0        0       0       
174
17528 rtems_port_create                                                    19722    20414   12283   
17628 rtems_port_external_to_internal                                      10392    10393   3361   
17728 rtems_port_internal_to_external                                      10397    10390   3325   
17828 rtems_port_delete                                                    18511    19376   10726   
179
18029 rtems_rate_monotonic_create                                          20414    20241   12629   
18129 rtems_rate_monotonic_period: initiate period -- returns to caller    32178    32351   21106   
18229 rtems_rate_monotonic_period: obtain status                           15051    14532   6920   
18329 rtems_rate_monotonic_cancel                                          21971    22317   12283   
18429 rtems_rate_monotonic_delete: inactive                                22490    21971   11591   
18529 rtems_rate_monotonic_delete: active                                  22490    21452   8131   
18629 rtems_rate_monotonic_period: conclude periods -- caller blocks       29652    29750   12897   
187
Note: See TracBrowser for help on using the repository browser.