summaryrefslogtreecommitdiffstats
path: root/testsuites/smptests/smpmutex01 (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Canonicalize config.h includeSebastian Huber2020-04-161-1/+1
| | | | | | | | Use the following variant which was already used by most source files: #ifdef HAVE_CONFIG_H #include "config.h" #endif
* rtems: Add rtems_scheduler_get_processor_maximum()Sebastian Huber2019-04-091-2/+2
| | | | | | | | | | | Add rtems_scheduler_get_processor_maximum() as a replacement for rtems_get_processor_count(). The rtems_get_processor_count() is a bit orphaned. Adopt it by the Scheduler Manager. The count is also misleading, since the processor set may have gaps and the actual count of online processors may be less than the value returned by rtems_get_processor_count(). Update #3732.
* rtems: Add rtems_scheduler_get_processor()Sebastian Huber2019-04-091-2/+2
| | | | | | | | | | | Add rtems_scheduler_get_processor() as a replacement for rtems_get_current_processor(). The rtems_get_current_processor() is a bit orphaned. Adopt it by the Scheduler Manager. This is in line with the glibc sched_getcpu() function. Deprecate rtems_get_current_processor(). Update #3731.
* score: Fix plain priority thread queues (SMP)Sebastian Huber2019-02-071-0/+63
| | | | We must add/remove the priority queue to the FIFO of priority queues.
* Spelling and grammar fixes in source code comments (GCI 2018)Marçal Comajoan Cara2018-12-041-1/+1
|
* testsuite/smptests: Merged nested Makefile.am files into one Makefile.amChris Johns2018-04-101-19/+0
| | | | | | This change is part of the testsuite Makefile.am reorganization. Update #3382
* config: Use new scheduler configuration definesSebastian Huber2018-03-121-6/+6
| | | | Update #3325.
* score: Fix priority ceiling updatesSebastian Huber2017-11-161-2/+56
| | | | | | | | | | | | We must not clear the priority updates in _Thread_queue_Extract_locked() since this function is used by the priority ceiling surrender operations after the ceiling priority handover from the previous owner to the new owner. This is especially important in SMP configurations. Move the _Thread_queue_Context_clear_priority_updates() invocation to the callers. Close #3237.
* score: Fix _Thread_queue_Flush_critical()Sebastian Huber2017-11-161-33/+70
| | | | | | | | | The thread queue extract operations performed by the _Thread_queue_Flush_critical() may result in a priority change of the thread queue owner. Carry out the scheduler priority update operation. This is especially important in SMP configurations. Close #3236.
* tests: Use simple console driverSebastian Huber2017-11-061-1/+1
| | | | | Update #3170. Update #3199.
* tests: Remove TEST_INITSebastian Huber2017-10-281-2/+0
| | | | | | | | The TEST_EXTERN is a used only by the system.h style tests and they use CONFIGURE_INIT appropriately. Update #3170. Update #3199.
* testsuite: Use printk for all test output where possible.Chris Johns2017-10-231-0/+2
| | | | | | | | | | - Remove the printf support leaving the direct printk support configured with TESTS_USE_PRINTK and all other output goes via a buffered vsniprintf call to printk. - Control the test's single init for functions and global data with TEST_INIT and not CONFIGURE_INIT. They are now separate. Updates #3170.
* Rename CONFIGURE_SMP_MAXIMUM_PROCESSORSSebastian Huber2017-02-141-1/+1
| | | | | | | Rename CONFIGURE_SMP_MAXIMUM_PROCESSORS to CONFIGURE_MAXIMUM_PROCESSORS since the SMP part is superfluous. Update #2894.
* Remove CONFIGURE_SMP_APPLICATIONSebastian Huber2017-02-021-2/+0
| | | | | | Enable the SMP support if CONFIGURE_SMP_MAXIMUM_PROCESSORS > 1. Update #2893.
* score: Yield support for new SMP helping protocolSebastian Huber2016-11-021-0/+52
| | | | Update #2556.
* score: Add new SMP scheduler helping protocolSebastian Huber2016-11-021-2/+191
| | | | Update #2556.
* score: Scheduler node awareness for thread queuesSebastian Huber2016-09-211-24/+349
| | | | | | | | Maintain the priority of a thread for each scheduler instance via the thread queue enqueue, extract, priority actions and surrender operations. This replaces the primitive priority boosting. Update #2556.
* rtems: Add rtems_task_get_priority()Sebastian Huber2016-09-211-0/+16
| | | | | Update #2556. Update #2784.
* smptests/smpmutex01: Use test case functionsSebastian Huber2016-09-211-2/+24
|
* score: Rework thread priority managementSebastian Huber2016-09-211-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | Add priority nodes which contribute to the overall thread priority. The actual priority of a thread is now an aggregation of priority nodes. The thread priority aggregation for the home scheduler instance of a thread consists of at least one priority node, which is normally the real priority of the thread. The locking protocols (e.g. priority ceiling and priority inheritance), rate-monotonic period objects and the POSIX sporadic server add, change and remove priority nodes. A thread changes its priority now immediately, e.g. priority changes are not deferred until the thread releases its last resource. Replace the _Thread_Change_priority() function with * _Thread_Priority_perform_actions(), * _Thread_Priority_add(), * _Thread_Priority_remove(), * _Thread_Priority_change(), and * _Thread_Priority_update(). Update #2412. Update #2556.
* rtems: Fix rtems_task_set_scheduler() APISebastian Huber2016-07-011-1/+1
| | | | | | | | | | | Task priorities are only valid within a scheduler instance. The rtems_task_set_scheduler() directive moves a task from one scheduler instance to another using the current priority of the thread. However, the current task priority of the source scheduler instance is undefined in the target scheduler instance. Add a third parameter to specify the priority. Close #2749.
* Delete CONFIGURE_USE_IMFS_AS_BASE_FILESYSTEMSebastian Huber2015-10-151-2/+0
| | | | This define accidentally re-appeared.
* score: Implement priority boostingSebastian Huber2015-09-041-5/+56
|
* score: Implement SMP-specific priority queueSebastian Huber2015-09-044-0/+361