Re: [RTEMS Project] #2840: Use C11 mutexes for Termios framework

2018-02-02 Thread RTEMS trac
#2840: Use C11 mutexes for Termios framework
-+--
 Reporter:  Sebastian Huber  |   Owner:  Sebastian Huber
 Type:  enhancement  |  Status:  new
 Priority:  normal   |   Milestone:  Indefinite
Component:  score| Version:
 Severity:  normal   |  Resolution:
 Keywords:   |
-+--

Comment (by Sebastian Huber ):

 In [changeset:"2c12262f9a8fe7975556729f0574fab8d5a792f5/rtems"
 2c12262/rtems]:
 {{{
 #!CommitTicketReference repository="rtems"
 revision="2c12262f9a8fe7975556729f0574fab8d5a792f5"
 termios: Use self-contained objects

 Update #2840.
 }}}

--
Ticket URL: 
RTEMS Project 
RTEMS Project
___
bugs mailing list
bugs@rtems.org
http://lists.rtems.org/mailman/listinfo/bugs

Re: [RTEMS Project] #2840: Use C11 mutexes for Termios framework

2017-08-13 Thread RTEMS trac
#2840: Use C11 mutexes for Termios framework
-+--
 Reporter:  Sebastian Huber  |   Owner:  Sebastian Huber
 Type:  enhancement  |  Status:  new
 Priority:  normal   |   Milestone:  Indefinite
Component:  cpukit   | Version:
 Severity:  normal   |  Resolution:
 Keywords:   |
-+--
Changes (by Chris Johns):

 * version:  4.11 =>
 * milestone:  5.0 => Indefinite


--
Ticket URL: 
RTEMS Project 
RTEMS Project
___
bugs mailing list
bugs@rtems.org
http://lists.rtems.org/mailman/listinfo/bugs

[RTEMS Project] #2840: Use C11 mutexes for Termios framework

2016-12-14 Thread RTEMS trac
#2840: Use C11 mutexes for Termios framework
-+-
 Reporter:  sebastian.huber  |  Owner:  sebastian.huber
 Type:  enhancement  | Status:  new
 Priority:  normal   |  Milestone:  4.12
Component:  cpukit   |Version:  4.11
 Severity:  normal   |   Keywords:
-+-
 Use C11 mutexes instead of Classic semaphores as a performance
 optimization and to simplify the application configuration.

 A performance of Classic semaphores vs. C11 mutexes was measured on the
 arm/atsam BSP. A NXP SC16IS752 was connected via SPI. The RTEMS
 application used one task to read from the device and write it immediately
 back (look back via task). A development system constantly transmitted
 data at 115200 bits per second.

 CPU usage by function with Classic semaphores:

 {{{
 
name__|ratio___|1%_2%5%_10%_20%___50%___100|
 CPU_Thread_Idle_body  |
 22.454%|=  |
 atsam_spi_setup_transfer  |  6.767%|
 |
 Objects_Get   |  5.859%|===
 |
 atsam_spi_interrupt   |  4.483%|
 |
 Event_Seize   |  3.867%|==
 |
 rtems_termios_enqueue_raw_characters  |  3.804%|==
 |
 Timecounter_Binuptime |  3.715%|==
 |
 Scheduler_priority_Block  |  3.104%|
 |
 rtems_semaphore_release   |  3.018%|
 |
 Scheduler_priority_Unblock|  2.901%|===
 |
 rtems_termios_read_tty|  2.777%|===
 |
 ARMV7M_NVIC_Interrupt_dispatch|  2.750%|===
 |
 rtems_semaphore_obtain|  2.627%|==
 |
 Thread_Do_dispatch|  2.351%|=
 |
 ARMV7M_Interrupt_service_leave|  2.086%|
 |
 iproc |  1.919%|===
 |
 CPU_Context_switch|
 }}}
 CPU usage by function with C11 mutexes:

 {{{
 
name__|ratio___|1%_2%5%_10%_20%___50%___100|
 CPU_Thread_Idle_body  |
 33.395%|== |
 atsam_spi_setup_transfer  |  6.061%|===
 |
 atsam_spi_interrupt   |  4.690%|
 |
 Mutex_recursive_Release   |  3.011%|
 |
 Event_Seize   |  2.955%|===
 |
 ARMV7M_NVIC_Interrupt_dispatch|  2.885%|===
 |
 rtems_termios_enqueue_raw_characters  |  2.771%|===
 |
 rtems_termios_read_tty|  2.722%|===
 |
 Timecounter_Binuptime |  2.653%|==
 |
 Thread_Do_dispatch|  2.240%|
 |
 Scheduler_priority_Block  |  2.112%|
 |
 ARMV7M_Interrupt_service_leave|  2.100%|
 |
 Scheduler_priority_Unblock|  1.919%|===
 |
 Mutex_recursive_Acquire   |  1.876%|==
 |
 iproc |  1.773%|==
 |
 CPU_Context_switch|
 }}}

 The change resulted in 10% more total idle time on the system.

--
Ticket URL: 
RTEMS Project 
RTEMS Project
___
bugs mailing list
bugs@rtems.org
http://lists.rtems.org/mailman/listinfo/bugs