summaryrefslogtreecommitdiffstats
path: root/cpukit/score (follow)
Commit message (Collapse)AuthorAgeFilesLines
* score: Introduce _Thread_Get_priority()Sebastian Huber2016-09-0814-24/+48
| | | | Avoid direct access to thread internal data fields.
* score: Add scheduler node implementation headerSebastian Huber2016-09-086-106/+140
| | | | Update #2556.
* score: Move thread wait node to scheduler nodeSebastian Huber2016-09-088-143/+216
| | | | Update #2556.
* score: Move scheduler node to own header fileSebastian Huber2016-09-085-163/+196
| | | | | | | This makes it possible to add scheduler nodes to structures defined in <rtems/score/thread.h>. Update #2556.
* score: Optimize thread queue enqueueSebastian Huber2016-09-081-17/+32
| | | | Optimize the enqueue to empty thread queue case.
* score: Introduce Thread_queue_Lock_contextSebastian Huber2016-09-0817-158/+188
| | | | | | Introduce Thread_queue_Lock_context to contain the context necessary for thread queue lock and thread wait lock acquire/release operations to reduce the Thread_Control size.
* score: Simplify thread queue acquire/releaseSebastian Huber2016-09-0811-73/+58
|
* score: Fix warningSebastian Huber2016-09-081-1/+1
|
* score: Fix for RTEMS_DEBUGSebastian Huber2016-09-081-0/+1
|
* stackchk: Use a const pattern to checkSebastian Huber2016-09-081-1/+9
|
* score: Remove superfluous SMP debug supportSebastian Huber2016-09-076-34/+2
| | | | This information turned out to be useless in the last couple of months.
* score: Add _Chain_Initialize_one()Sebastian Huber2016-09-061-0/+27
|
* score: Improve red-black tree debug supportSebastian Huber2016-09-063-3/+16
| | | | Ensure that we extract a node only from the right tree.
* score: Add _RBTree_Initialize_one()Sebastian Huber2016-09-061-0/+20
|
* score: Add missing const qualifiersSebastian Huber2016-09-061-6/+6
|
* arm: Add VFP context validate support for ARMv5Kevin Kirspel2016-08-192-5/+11
|
* score: Fix undefined behaviourSebastian Huber2016-08-181-1/+1
| | | | | Cast POSIX error codes to unsigned int to avoid undefined behaviour in case of PTHREAD_BARRIER_SERIAL_THREAD which is -1.
* score: Improve _RBTree_Insert_inline()Sebastian Huber2016-08-121-1/+9
| | | | Return if the inserted node is the new minimum node or not.
* score: Introduce thread queue surrender operationSebastian Huber2016-08-114-36/+94
| | | | | | This is an optimization for _Thread_queue_Surrender(). It helps to encapsulate the priority boosting in the priority inheritance thread queue operations.
* score: Dismantle _Thread_queue_Do_extract_locked()Sebastian Huber2016-08-111-28/+39
| | | | | | | Dismantle _Thread_queue_Do_extract_locked() into re-usable parts like _Thread_queue_MP_set_callout() and _Thread_queue_Make_ready_again(). Use them in _Thread_queue_Surrender() to propare for a new thread queue surrender operation.
* score: Add _Thread_queue_Surrender()Sebastian Huber2016-08-116-134/+86
| | | | | Add _Thread_queue_Surrender() to unify the mutex surrender procedures which involve a thread queue operation.
* score: Add debug support to red-black treesSebastian Huber2016-08-088-32/+58
| | | | This helps to detect double insert and extract errors.
* score: Simplify _Thread_Finalize_life_change()Sebastian Huber2016-08-051-7/+1
|
* score: Fix a release/cancel job race conditionSebastian Huber2016-08-047-46/+36
| | | | | | | | Split up the potential thread priority change in the scheduler release/cancel job operation. Protect the rate monotonic period state with a dedicated SMP lock. This avoids a race condition during _Rate_monotonic_Timeout() while _Rate_monotonic_Cancel() is called on another processor.
* score: Fix _Thread_queue_Path_release()Sebastian Huber2016-08-041-8/+13
| | | | | | It is possible that the owner of the terminal link of a thread queue path waits on a thread queue. However, this thread queue has no owner, e.g. a thread queue of a message queue.
* score: Fix _Scheduler_EDF_Cancel_job_filter()Sebastian Huber2016-08-041-1/+1
| | | | | Commit 21bdca49eea9213cc31a497072d01192eed8675e accidentally used a function which may be added later.
* score: Optimize _Thread_queue_Path_release()Sebastian Huber2016-08-041-7/+29
| | | | Update #2556.
* score: Indroduce cancel job scheduler operationSebastian Huber2016-08-0412-8/+93
| | | | | Do not use a deadline value of zero to indicate a job cancellation. Use a dedicated scheduler operation for this.
* score: Fix and simplify thread wait locksSebastian Huber2016-08-038-269/+139
| | | | | | | | | | There was a subtile race condition in _Thread_queue_Do_extract_locked(). It must first update the thread wait flags and then restore the default thread wait state. In the previous implementation this could lead under rare timing conditions to an ineffective _Thread_Wait_tranquilize() resulting to a corrupt system state. Update #2556.
* linker set: Allow adding any variable into contentChristian Mauderer2016-08-021-0/+8
| | | | | | | | | | | The newly created macro adds any kind of variable into a linker set. It allows (for example) the saving an execution state of a function using the following method: - put a group of different variables into one linker set - save the memory area containing the group of variables before the execution of a function - restore the memory area after the function has been executed
* score: Fix for RTEMS_DEBUGSebastian Huber2016-08-011-0/+1
|
* score: Fix for RTEMS_DEBUG.Chris Johns2016-08-011-0/+2
|
* score: Add deadlock detectionSebastian Huber2016-07-277-17/+353
| | | | | | | | | | The mutex objects use the owner field of the thread queues for the mutex owner. Use this and add a deadlock detection to _Thread_queue_Enqueue_critical() for thread queues with an owner. Update #2412. Update #2556. Close #2765.
* score: Turn thread lock into thread wait lockSebastian Huber2016-07-2711-390/+739
| | | | | | | | | The _Thread_Lock_acquire() function had a potentially infinite run-time due to the lack of fairness at atomic operations level. Update #2412. Update #2556. Update #2765.
* score: Priority inherit thread queue operationsSebastian Huber2016-07-279-77/+116
| | | | | | | | | Move the priority change due to priority interitance to the thread queue enqueue operation to simplify the locking on SMP configurations. Update #2412. Update #2556. Update #2765.
* score: Simplify _Thread_queue_Boost_priority()Sebastian Huber2016-07-273-19/+23
| | | | | | | | | | Raise the priority under thread queue lock protection and omit the superfluous thread queue priority change, since the thread is extracted anyway. The unblock operation will pick up the new priority. Update #2412. Update #2556. Update #2765.
* score: Split _Thread_Change_priority()Sebastian Huber2016-07-272-9/+62
| | | | | | Update #2412. Update #2556. Update #2765.
* score: Fix for RTEMS_DEBUGSebastian Huber2016-07-271-0/+1
|
* cpukit: refactor nanosleep and use 64-bit timeout for threadqGedare Bloom2016-07-261-1/+1
| | | | | | | | | | * Fixes a bug with elapsed time calculations misusing absolute time arguments in nanosleep_helper by passing the requested relative interval. * Fixes a bug with truncation of absolute timeouts by passing the full 64-bit value to Thread_queue_Enqueue. * Share yield logic between nanosleep and clock_nanosleep. updates #2732
* score: FormatSebastian Huber2016-07-261-9/+9
|
* score: Fix printk() format specifiersSebastian Huber2016-07-261-2/+5
|
* score: FormatSebastian Huber2016-07-262-24/+21
|
* score: Add a STATES_DEBUGGER for use by debugging agents to a thread's state.Chris Johns2016-07-261-0/+2
|
* posix: cond_timedwait remember and use clock from condattrGedare Bloom2016-07-254-6/+13
| | | | updates #2745
* cpukit: Add and use Watchdog_Discipline.Gedare Bloom2016-07-2525-119/+180
| | | | | | | | | Clock disciplines may be WATCHDOG_RELATIVE, WATCHDOG_ABSOLUTE, or WATCHDOG_NO_TIMEOUT. A discipline of WATCHDOG_RELATIVE with a timeout of WATCHDOG_NO_TIMEOUT is equivalent to a discipline of WATCHDOG_NO_TIMEOUT. updates #2732
* score: Fix for RTEMS_DEBUGSebastian Huber2016-07-251-0/+1
|
* score: Relax thread begin extension environmentSebastian Huber2016-07-251-7/+8
| | | | Update #2752.
* score: Disable RTEMS_NO_RETURN for RTEMS_DEBUGSebastian Huber2016-07-251-1/+1
| | | | | Do not use RTEMS_NO_RETURN hints for debug configurations to ease use of stack traces in case of fatal errors.
* score: Fix for RTEMS_DEBUGSebastian Huber2016-07-221-0/+1
|
* score: Assert proper seqlock writer stateSebastian Huber2016-07-221-0/+3
| | | | Helps to detect invalid concurrent writes.