summaryrefslogtreecommitdiffstats
path: root/cpukit/score (follow)
Commit message (Collapse)AuthorAgeFilesLines
* score: Avoid Giant lock for _Thread_Start()Sebastian Huber2016-05-204-27/+26
| | | | Update #2555.
* posix: Rework pthread_join()Sebastian Huber2016-05-204-7/+127
| | | | | | | | | Rework pthread_join() to use _Thread_Join(). Close #2402. Update #2555. Update #2626. Close #2714.
* score: Simplify _Thread_Life_action_handler()Sebastian Huber2016-05-203-68/+29
| | | | | | | | Use _Thread_Change_life_locked() to avoid duplicated code. Avoid Giant lock in _Thread_Life_action_handler(). Update #2555. Update #2626.
* score: Rework _Thread_Cancel()Sebastian Huber2016-05-201-54/+31
| | | | | | | Rework _Thread_Cancel() to use _Thread_Change_life_locked(). Update #2555. Update #2626.
* score: Rework _Thread_Restart_other()Sebastian Huber2016-05-203-11/+86
| | | | | | | | | Rework _Thread_Restart_other() to use _Thread_Change_life_locked(). Cope with concurrent change requests by means of a pending request counter. Update #2555. Update #2626.
* score: Split _Thread_Restart()Sebastian Huber2016-05-203-47/+95
| | | | | | | | | | | Split _Thread_Restart() into _Thread_Restart_self() and _Thread_Restart_other(). Move content of existing _Thread_Restart_self() into new _Thread_Restart_self(). Avoid Giant lock for thread restart. _Thread_Restart_self() is a no-return function and used by _Thread_Global_construction(). Update #2555. Update #2626.
* score: Add _Thread_Dispatch_disable_with_CPU()Sebastian Huber2016-05-201-5/+23
| | | | | Update #2555. Update #2626.
* score: Add _Thread_Clear_state_locked()Sebastian Huber2016-05-202-5/+21
| | | | | | | | This makes it possible to do thread state and thread life changes together under protection of the thread state lock. Update #2555. Update #2626.
* score: Add _Thread_Set_state_locked()Sebastian Huber2016-05-202-6/+22
| | | | | | | | This makes it possible to do thread state and thread life changes together under protection of the thread state lock. Update #2555. Update #2626.
* score: Add _Thread_Join() and _Thread_Cancel()Sebastian Huber2016-05-204-31/+70
| | | | | | | | Split _Thread_Close() into _Thread_Join() and _Thread_Cancel() to prepare for a re-use in pthread_join() and pthread_cancel(). Update #2555. Update #2626.
* score: Rework _Thread_Exit()Sebastian Huber2016-05-201-4/+16
| | | | | | | Rework _Thread_Exit() to use _Thread_Change_life_locked(). Update #2555. Update #2626.
* score: Add _Thread_Raise_real_priority()Sebastian Huber2016-05-201-14/+16
| | | | | Update #2555. Update #2626.
* score: Add Thread_Change_life()Sebastian Huber2016-05-206-57/+73
| | | | | | | | | Add _Thread_Change_life_locked() as a general function to alter the thread life state. Use it to implement _Thread_Set_life_protection() as a first step. Update #2555. Update #2626.
* score: Delete unused variableSebastian Huber2016-05-201-6/+3
| | | | | Update #2555. Update #2626.
* score: Avoid superfluous life protectionSebastian Huber2016-05-201-3/+0
| | | | | | | | Disable thread dispatching is enough to prevent deletion of the executing thread. There is no need for an additional life protection. Update #2555. Update #2626.
* score: Add _Thread_Exit()Sebastian Huber2016-05-202-4/+16
| | | | | | | | The goal is to make _Thread_Exit() a no-return function in follow up patches. Update #2555. Update #2626.
* score: Delete redundant thread life enumsSebastian Huber2016-05-202-6/+6
| | | | | | | This makes it easier to add more states in the future. Update #2555. Update #2626.
* SMP: Add Mellor-Crummey and Scott (MCS) lockSebastian Huber2016-05-193-0/+267
| | | | | | | | | | Added only for evaluation purposes. We have to compare the performance against the ticket lock on the interesting platforms via smptests/smplock01. The following GCC shortcoming affects the MCS lock: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66867
* SMP: Add and use lock statistics helperSebastian Huber2016-05-192-28/+54
|
* SMP: Move ticket lock to separate header fileSebastian Huber2016-05-194-160/+208
|
* SMP: Move lock stats to separate header fileSebastian Huber2016-05-195-333/+397
|
* score: Avoid Giant lock for scheduler set/getSebastian Huber2016-05-123-14/+62
| | | | Update #2555.
* posix: Avoid Giant lock for some pthread functionsSebastian Huber2016-05-121-0/+5
| | | | | | | | Avoid Giant lock for pthread_getattr_np(), pthread_setschedparam() and pthread_getschedparam(). Replace POSIX threads scheduler lock with thread state lock. Update #2555.
* score: Avoid Giant lock _Scheduler_Get_affinity()Sebastian Huber2016-05-121-3/+10
| | | | Update #2555.
* score: Avoid Giant lock _Scheduler_Set_affinity()Sebastian Huber2016-05-125-18/+36
| | | | Update #2555.
* score: Use thread state lock for current stateSebastian Huber2016-05-128-58/+117
| | | | | | | In addition protect scheduler of thread by thread state lock. Enables use of scheduler per-instance locks. Update #2555.
* rtems: Use thread state lock for signalsSebastian Huber2016-05-121-0/+1
|
* score: Introduce thread state lockSebastian Huber2016-05-126-93/+121
| | | | Update #2556.
* score: Add _Thread_queue_Is_lock_owner()Sebastian Huber2016-05-122-6/+71
| | | | Add _Thread_queue_Is_lock_owner() in case RTEMS_DEBUG is defined.
* score: Ensure matching lock acquire and releaseSebastian Huber2016-05-122-4/+16
| | | | | Ensure matching lock acquire and release for SMP locks if RTEMS_DEBUG is defined.
* score: Add _ISR_lock_Is_owner()Sebastian Huber2016-05-124-4/+90
|
* score: Fix CORE mutex initializationSebastian Huber2016-05-122-22/+3
| | | | | | | | | The priority inheritance and ceiling CORE mutexes wrongly used the FIFO queueing discipline. Delete misleading _CORE_mutex_Is_priority(). Bug introduced by 1e1a91ed11458ddbb27b94d0001d8f0fc2ef7a97. Add test sptests/spmutex01, since no existing uni-processor test covered the thread priority queueing discipline for CORE mutexes.
* Revert "score: Avoid use of uninitialized variable"Sebastian Huber2016-05-111-1/+0
| | | | | | Sorry, I should not fix warnings unmindfully. This reverts commit 35c8efc9501b5f6b1a4dfeaa4b1aa6a1d6dbf08e.
* score: Avoid use of uninitialized variableSebastian Huber2016-05-111-0/+1
| | | | | Properly set the needs_help to NULL in _Scheduler_SMP_Enqueue_ordered() in case the thread is inserted into the ready set.
* score: Avoid Giant lock for CBS schedulerSebastian Huber2016-05-064-77/+93
| | | | Update #2555.
* mpci: Avoid Giant lock in _MPCI_Process_response()Sebastian Huber2016-05-041-17/+15
| | | | | Update #2555. Update #2703.
* score: Simplify _Thread_Get_interrupt_disable()Sebastian Huber2016-05-042-6/+2
| | | | Remove the object location parameter.
* score: Add _Thread_MP_Is_remote()Sebastian Huber2016-05-043-21/+32
|
* score: Simplify _Thread_Get_objects_information()Sebastian Huber2016-05-041-8/+9
|
* score: Make _Objects_Information_table constSebastian Huber2016-05-042-15/+3
| | | | | The _Objects_Information_table is statically initialized. So, we can make it read-only.
* score: Simplify _Objects_Id_to_name()Sebastian Huber2016-05-041-6/+4
|
* score: Fix _Objects_Id_to_name()Sebastian Huber2016-05-041-12/+1
| | | | Avoid out-of-bounds array access in case the object class is invalid.
* rtems: Remove task variablesSebastian Huber2016-05-041-34/+0
| | | | | Update #2494. Update #2555.
* confdefs.h: Fix message queue size estimateSebastian Huber2016-05-041-17/+13
| | | | | Account for maximum message size alignment. Simplify _CORE_message_queue_Initialize().
* score: Optimize _Objects_Get_local()Sebastian Huber2016-05-023-6/+8
| | | | | Make the interrupt lock context the second parameter to avoid register moves.
* mpci: Fix _CORE_barrier_Surrender()Sebastian Huber2016-05-021-1/+1
| | | | Bug introduced by f27383a518836881b7b9b88e88d2e31d5b23d048.
* score: Add dummy Strong APA schedulerSebastian Huber2016-05-024-0/+547
| | | | | | Start with a copy of the Priority SMP scheduler implementation. Update #2510.
* score: __RTEMS_DO_NOT_INLINE_CORE_MUTEX_SEIZE__Sebastian Huber2016-05-024-293/+159
| | | | | Delete __RTEMS_DO_NOT_INLINE_CORE_MUTEX_SEIZE__ as a preparation to restructure the CORE mutex variants and reduce the branch complexity.
* score: Delete __RTEMS_STRICT_ORDER_MUTEX__Sebastian Huber2016-05-026-111/+0
| | | | | | Remove support for strict order mutexes. Close #2124.
* score: Avoid Giant lock for set time of daySebastian Huber2016-05-025-45/+77
| | | | | Update #2555. Update #2630.