summaryrefslogtreecommitdiffstats
path: root/cpukit/sapi/src/chainprotected.c (unfollow)
Commit message (Collapse)AuthorFilesLines
2020-04-16Canonicalize config.h includeSebastian Huber1-2/+2
Use the following variant which was already used by most source files: #ifdef HAVE_CONFIG_H #include "config.h" #endif
2016-04-06score: Delete _Chain_Append()Sebastian Huber1-4/+0
This function is not used in the score. Update #2555.
2016-04-06score: Delete _Chain_Get()Sebastian Huber1-4/+0
This function is not used in the score. Update #2555.
2016-04-06score: Delete _Chain_Extract()Sebastian Huber1-2/+2
This function is not used in the score. Update #2555.
2016-04-06score: Delete _Chain_Insert()Sebastian Huber1-0/+4
This function is not used in the score. Update #2555.
2016-04-06score: Delete _Chain_Get_with_empty_check()Sebastian Huber1-4/+0
This function is not used in the score. Update #2555.
2016-04-06score: Delete _Chain_Prepend_with_empty_check()Sebastian Huber1-2/+2
This function is not used in the score. Update #2555.
2016-04-06score: Delete _Chain_Append_with_empty_check()Sebastian Huber1-2/+2
This function is not used in the score. Update #2555.
2016-04-06score: Delete _Chain_Prepend()Sebastian Huber1-18/+21
This function is not used in the score. Update #2555.
2014-03-21Change all references of rtems.com to rtems.org.Chris Johns1-1/+1
2014-03-14score: Add SMP lock profiling supportSebastian Huber1-1/+1
2014-03-11score: Add local context to SMP lock APISebastian Huber1-28/+28
Add a local context structure to the SMP lock API for acquire and release pairs. This context can be used to store the ISR level and profiling information. It may be later used to enable more sophisticated lock algorithms, e.g. MCS locks. There is only one lock that cannot be used with a local context. This is the per-CPU lock since here we would have to transfer the local context through a context switch which is very complicated.
2014-03-11sapi: Use one SMP lock for all chainsSebastian Huber1-41/+39
This partially reverts commit 1215fd4d9426a59d568560e9a485628560363133. In order to support profiling of SMP locks and provide a future compatible SMP locks API it is necessary to add an SMP lock destroy function. Since the commit above adds an SMP lock to each chain control we would have to add a rtems_chain_destroy() function as well. This complicates the chain usage dramatically. Thus revert the patch above. A global SMP lock for all chains is used to implement the protected chain operations. Advantages: * The SAPI 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. The chain control size drop is a huge benefit (SAPI 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.
2013-08-30sapi: SMP support for chainsSebastian Huber1-0/+138
Add ISR lock to chain control for proper SMP protection. Replace rtems_chain_extract() with rtems_chain_explicit_extract() and rtems_chain_insert() with rtems_chain_explicit_insert() on SMP configurations. Use rtems_chain_explicit_extract() and rtems_chain_explicit_insert() to provide SMP support.