RTEMS Chain API and SMP
Gedare Bloom
gedare at rtems.org
Fri Mar 7 16:45:59 UTC 2014
This will make the protected Chain API stuck (for now, possibly
forever) with coarse-grained locks, but users can define their own
fine-grained locking implementations of chains using unprotected chain
API calls?
I think this is acceptable.
Gedare
On Fri, Mar 7, 2014 at 11:12 AM, Sebastian Huber
<sebastian.huber at embedded-brains.de> wrote:
> Hello,
>
> I am glad that we had no RTEMS 4.11 release yet. I have to revisit the
> RTEMS chain API.
>
> This solution was a bad mistake as it runs out now:
>
> http://git.rtems.org/rtems/commit/cpukit/sapi/include/rtems/chain.h?id=1215fd4d9426a59d568560e9a485628560363133
>
> In order to support profiling of SMP locks and provide a future compatible
> SMP locks API I have to add an SMP lock destroy function. Since the patch
> adds an SMP lock to each chain control we would have to add a
> rtems_chain_destroy() function as well. This is complicates the chain usage
> dramatically. So I propose to revert the patch above. A global SMP lock
> for all chains should be use to implement the protected chain operations.
>
> Advantages:
>
> * The RTEMS chain API is now identical on SMP and non-SMP configurations.
>
> * The size of the chain control is reduced and is then equal to the Score
> chains.
>
> * The protected chain operations work correctly on SMP.
>
> Disadvantage:
>
> * Applications using many different chains and the protected operations may
> notice lock contention.
>
> I think the chain control size drop is a huge benefit (RTEMS chain controls
> are 66% larger than the Score chain controls). The only disadvantage is not
> really a problem since these applications can use specific interrupt locks
> and unprotected chain operations to avoid this issue.
>
> --
> 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.
>
> _______________________________________________
> rtems-devel mailing list
> rtems-devel at rtems.org
> http://www.rtems.org/mailman/listinfo/rtems-devel
More information about the devel
mailing list