summaryrefslogtreecommitdiffstats
path: root/cpukit (follow)
Commit message (Collapse)AuthorAgeFilesLines
* score: Avoid Giant lock for _Thread_Start()Sebastian Huber2016-05-206-77/+42
| | | | Update #2555.
* posix: Rework pthread_join()Sebastian Huber2016-05-2013-188/+243
| | | | | | | | | 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-204-12/+87
| | | | | | | | | 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-204-68/+116
| | | | | | | | | | | 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-205-32/+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-207-61/+79
| | | | | | | | | 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-203-12/+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-204-6/+32
| | | | | | | | 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
|
* posix: Fix return states of pthread_kill()Sebastian Huber2016-05-171-17/+11
| | | | | | POSIX mandates that an error code is returned and not -1 plus errno. Close #2715.
* posix: Fix return status of pthread_cancel()Sebastian Huber2016-05-171-1/+1
| | | | | | | POSIX recommends ESRCH in case no thread exists for the specified identifier. Close #2713.
* capture: Fix use of per-processor dataSebastian Huber2016-05-122-27/+31
| | | | | | Get the current processor index only once and with interrupts disabled. Close #2707.
* capture: Remove superfluous includesSebastian Huber2016-05-121-3/+0
|
* capture: Compact rtems_capture_record_tSebastian Huber2016-05-121-1/+1
| | | | | Order fields according to alignment to reduce structure internal padding.
* capture: Fix buffer allocation and freeSebastian Huber2016-05-122-11/+11
| | | | | | | Do not use function static variables. Remove superfluous volatile qualifiers. Use proper integer types. Close #2706.
* rtems: Add rtems_interrupt_lock_interrupt_disableSebastian Huber2016-05-121-0/+13
| | | | Update #2707.
* score: Avoid Giant lock for scheduler set/getSebastian Huber2016-05-125-65/+113
| | | | Update #2555.
* posix: Avoid Giant lock for some pthread functionsSebastian Huber2016-05-127-132/+103
| | | | | | | | 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-123-51/+62
| | | | Update #2555.
* score: Avoid Giant lock _Scheduler_Set_affinity()Sebastian Huber2016-05-129-69/+96
| | | | Update #2555.
* score: Use thread state lock for current stateSebastian Huber2016-05-1210-63/+129
| | | | | | | In addition protect scheduler of thread by thread state lock. Enables use of scheduler per-instance locks. Update #2555.
* rtems: Avoid Giant lock rtems_task_is_suspended()Sebastian Huber2016-05-121-35/+13
| | | | Update #2555.
* rtems: Avoid Giant lock for some task operationsSebastian Huber2016-05-125-131/+158
| | | | | | | Avoid Giant lock for rtems_task_set_priority(), rtems_task_suspend() and rtems_task_resume(). Update #2555.
* rtems: Use thread state lock for signalsSebastian Huber2016-05-127-120/+24
|
* score: Introduce thread state lockSebastian Huber2016-05-1211-114/+149
| | | | 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.
* posix: Make _POSIX_signals_Action_handler() staticSebastian Huber2016-05-123-142/+126
|
* mpci: Delete unused region supportSebastian Huber2016-05-125-429/+0
|
* 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.
* posix: Avoid Giant lock in pthread_equal()Sebastian Huber2016-05-061-51/+9
| | | | Update #2555.
* rtems: Avoid Giant lock for signalsSebastian Huber2016-05-067-153/+115
| | | | 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-046-130/+87
| | | | Remove the object location parameter.