LIBBSD
Sebastian Huber
sebastian.huber at embedded-brains.de
Mon Jul 3 05:44:54 UTC 2017
On 03/07/17 02:03, Kirspel, Kevin wrote:
> I have rewritten the kern_timeout.c module to use individual RTEMS timers per callout/timeout function. My Idle task CPUUSE is now 99.9%. I still need to validate all the functionality of the kern_timeout.c module with a timeout01 test in the testsuite. I don't think the existing kern_timeout.c module currently supports all the functionality that is used in Freebsd (callouts/timeouts on a particular CPU core). Right now everything is processed on CPU core 0 because of the way the RTEMS timer server works. My version excludes all the SMP stuff and silently places all timeouts on CPU core 0. We could probably support the callouts/timeouts on a particular CPU core if we update the RTEMS timer code but I don't think it is a feature that most people would use.
I don't think this is a good idea. For the network stack a fast timer
insert/delete is required. This is achieved by the time wheel
implementation. The RTEMS timer use a red-black tree to get a more
predictable run-time of all operations.
--
Sebastian Huber, embedded brains GmbH
Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone : +49 89 189 47 41-16
Fax : +49 89 189 47 41-09
E-Mail : sebastian.huber at embedded-brains.de
PGP : Public key available on request.
Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.
More information about the devel
mailing list