| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
Rework pthread_join() to use _Thread_Join().
Close #2402.
Update #2555.
Update #2626.
Close #2714.
|
|
|
|
|
|
|
|
| |
Use _Thread_Change_life_locked() to avoid duplicated code. Avoid Giant
lock in _Thread_Life_action_handler().
Update #2555.
Update #2626.
|
|
|
|
|
|
|
| |
Rework _Thread_Cancel() to use _Thread_Change_life_locked().
Update #2555.
Update #2626.
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Update #2555.
Update #2626.
|
|
|
|
|
|
|
|
| |
This makes it possible to do thread state and thread life changes
together under protection of the thread state lock.
Update #2555.
Update #2626.
|
|
|
|
|
|
|
|
| |
This makes it possible to do thread state and thread life changes
together under protection of the thread state lock.
Update #2555.
Update #2626.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
Rework _Thread_Exit() to use _Thread_Change_life_locked().
Update #2555.
Update #2626.
|
|
|
|
|
| |
Update #2555.
Update #2626.
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Update #2555.
Update #2626.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
The goal is to make _Thread_Exit() a no-return function in follow up
patches.
Update #2555.
Update #2626.
|
|
|
|
|
|
|
| |
This makes it easier to add more states in the future.
Update #2555.
Update #2626.
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
| |
|
| |
|
|
|
|
| |
Update #2555.
|
|
|
|
|
|
|
|
| |
Avoid Giant lock for pthread_getattr_np(), pthread_setschedparam() and
pthread_getschedparam(). Replace POSIX threads scheduler lock with
thread state lock.
Update #2555.
|
|
|
|
| |
Update #2555.
|
|
|
|
| |
Update #2555.
|
|
|
|
|
|
|
| |
In addition protect scheduler of thread by thread state lock. Enables
use of scheduler per-instance locks.
Update #2555.
|
| |
|
|
|
|
| |
Update #2556.
|
|
|
|
| |
Add _Thread_queue_Is_lock_owner() in case RTEMS_DEBUG is defined.
|
|
|
|
|
| |
Ensure matching lock acquire and release for SMP locks if RTEMS_DEBUG is
defined.
|
| |
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
Sorry, I should not fix warnings unmindfully.
This reverts commit 35c8efc9501b5f6b1a4dfeaa4b1aa6a1d6dbf08e.
|
|
|
|
|
| |
Properly set the needs_help to NULL in _Scheduler_SMP_Enqueue_ordered()
in case the thread is inserted into the ready set.
|
|
|
|
| |
Update #2555.
|
|
|
|
|
| |
Update #2555.
Update #2703.
|
|
|
|
| |
Remove the object location parameter.
|
| |
|
| |
|
|
|
|
|
| |
The _Objects_Information_table is statically initialized. So, we can
make it read-only.
|
| |
|
|
|
|
| |
Avoid out-of-bounds array access in case the object class is invalid.
|
|
|
|
|
| |
Update #2494.
Update #2555.
|
|
|
|
|
| |
Account for maximum message size alignment. Simplify
_CORE_message_queue_Initialize().
|
|
|
|
|
| |
Make the interrupt lock context the second parameter to avoid register
moves.
|
|
|
|
| |
Bug introduced by f27383a518836881b7b9b88e88d2e31d5b23d048.
|
|
|
|
|
|
| |
Start with a copy of the Priority SMP scheduler implementation.
Update #2510.
|
|
|
|
|
| |
Delete __RTEMS_DO_NOT_INLINE_CORE_MUTEX_SEIZE__ as a preparation to
restructure the CORE mutex variants and reduce the branch complexity.
|
|
|
|
|
|
| |
Remove support for strict order mutexes.
Close #2124.
|
|
|
|
|
| |
Update #2555.
Update #2630.
|
|
|
|
|
|
|
| |
Rename _TOD_Set() into _TOD_Set_with_timespec(). Rename
_TOD_Set_with_timestamp() into _TOD_Set(). This is now in line with
_TOD_Get() and _TOD_Get_as_timespec(). The timestamp is the canonical
format.
|