summaryrefslogtreecommitdiffstats
path: root/cpukit (follow)
Commit message (Collapse)AuthorAgeFilesLines
* score: Remove obsolete definesSebastian Huber2016-11-1818-281/+0
| | | | The thread dispatch inline option is no longer used.
* posix: Simplify cleanup push/popSebastian Huber2016-11-181-10/+10
| | | | | The POSIX cleanup list must be proteced from asynchronous thread deletion. Here local interrupt disable is sufficient.
* arm: Use TPIDRPRW for current per-CPU controlSebastian Huber2016-11-184-9/+30
| | | | | | Use the previously unused TPIDRPRW register to get the per-CPU control of the current processor. This avoids instructions in GET_SELF_CPU_CONTROL which are not available in Thumb mode.
* Fix untar mkdir when the directory exists.Chris Johns2016-11-181-3/+5
|
* rtl-mdreloc-sparc.c: Do not print unaligned pointer and cause unaligned access.Jiri Gaisler2016-11-141-2/+3
| | | | updates #2802.
* powerpc: Add _CPU_Get_current_per_CPU_control()Sebastian Huber2016-11-101-0/+27
| | | | | | | | Add _CPU_Get_current_per_CPU_control() on SMP configurations. Use SPRG0 for the current per-CPU control. This reduces the code size by three instructions and is slightly faster. Update #2805.
* score: Move _CPU_Get_current_per_CPU_control()Sebastian Huber2016-11-104-28/+28
| | | | | Move _CPU_Get_current_per_CPU_control() from <rtems/score/cpu.h> to <rtems/score/cpuimpl.h>.
* rtems: Add scheduler processor add/removeSebastian Huber2016-11-1018-7/+644
| | | | Update #2797.
* score: Add and use Thread_Control::is_idleSebastian Huber2016-11-092-0/+3
| | | | Update #2797.
* score: Rename _Scheduler_AssignmentsSebastian Huber2016-11-094-36/+39
| | | | | | | | Rename _Scheduler_Assignments into _Scheduler_Initial_assignments to make it clear that they may not reflect the run-time scheduler assignment. Update #2797.
* score: Clarify _Scheduler_SMP_Start_idle()Sebastian Huber2016-11-092-10/+14
|
* score: Add scheduler to per-CPU informationSebastian Huber2016-11-094-28/+41
| | | | | | | This makes it possible to adjust the scheduler of a processor at run-time. Update #2797.
* score: Avoid _Scheduler_Get_by_CPU_index( 0 )Sebastian Huber2016-11-091-1/+1
| | | | Avoid use of processor index 0 which may have no scheduler assigned.
* score: Simplify _Scheduler_Get_by_id()Sebastian Huber2016-11-097-56/+76
| | | | | | | | | | Avoid dead code in non-SMP configurations. Return scheduler identifier independent of the current processor count of the scheduler via rtems_scheduler_ident(), since this value may change during run-time. Check the processor count in _Scheduler_Set() under scheduler lock protection. Update #2797.
* score: Fix _MRSP_Initialize()Sebastian Huber2016-11-091-4/+4
| | | | | The ceiling priorities must be initialized by scheduler index. Do not confuse it with a processor index.
* mpci: Use the first scheduler for MPCISebastian Huber2016-11-092-2/+2
| | | | Avoid use of processor index 0 which may have no scheduler assigned.
* rtems: Fix rtems_task_create() scheduler selectionSebastian Huber2016-11-091-1/+1
| | | | | | | Use the home scheduler of the executing thread for the created thread. This is in line with pthread_create(). Using the current processor may pick up an unexpected scheduler in case of a temporary migration, e.g. due to locking protocols.
* score: Inline some SMP lock operations by defaultSebastian Huber2016-11-092-11/+22
| | | | | | | | | The SMP ticket lock release turned out to be suitable for inlining, e.g. a hand full of instructions, no branches. The changes in the screen files do not reflect the changes due to this commit. However, they are now up to date. Obtained on a T4240 running at 1.5GHz using GCC 7.0.0 20161108..
* Provide kernel space header filesSebastian Huber2016-11-088-0/+228
| | | | | These kernel space header files must be provided for Newlib 172e2050d95b41861db858dd9bc43a3fb4a28987.
* sparc: Provide _CPU_Get_thread_executing()Sebastian Huber2016-11-071-0/+4
|
* score: Add optional _CPU_Get_thread_executing()Sebastian Huber2016-11-073-6/+27
|
* score: Prevent assignment to _Thread_ExecutingSebastian Huber2016-11-071-1/+1
|
* score: Add <rtems/score/cpuimpl.h>Sebastian Huber2016-11-0751-0/+595
| | | | | | The aim of this file is to encapsulate CPU port implementation details. This helps to hide implementation details from <rtems.h> which indirectly includes <rtems/score/cpu.h>.
* score: Optimize self-contained mutexesSebastian Huber2016-11-042-32/+85
|
* score: Use non-inline thread queue lock opsSebastian Huber2016-11-042-19/+99
| | | | | | This reduces the code size and helps to reduce the amount of testing. Hot paths can use the _Thread_queue_Queue_acquire_critical() and _Thread_queue_Queue_release_critical() functions which are still inline.
* score: Provide inline variants for ISR lock opsSebastian Huber2016-11-041-0/+32
|
* score: Default to non-inline SMP lock opsSebastian Huber2016-11-042-90/+71
| | | | | Use non-inline SMP lock acquire and release operations by default. Provide inline variants for the hot spots, e.g. mutex acquire/release.
* Size optimization for resource snapshotsSebastian Huber2016-11-041-23/+37
| | | | Do not reference the objects information directly.
* posix: Fix _POSIX_RWLock_Manager_initialization()Sebastian Huber2016-11-041-1/+1
| | | | Use right object class.
* score: Fix _Scheduler_Try_to_schedule_node()Sebastian Huber2016-11-041-10/+14
| | | | | In case the thread is scheduled and the sticky level is greater than one, then we must use an idle thread for correctness of MrsP.
* score: Add _Watchdog_Ticks_from_sbintimeSebastian Huber2016-11-031-0/+12
| | | | Necessary to support a network stack update to FreeBSD 12.
* score: Delete unused _Scheduler_Is_id_valid()Sebastian Huber2016-11-031-10/+0
|
* score: Conditionally enable thread resource countSebastian Huber2016-11-034-0/+22
| | | | | Maintain the thread resource count only in debug configurations. This is a performance optimization for non-debug configurations.
* score: Relax _Scheduler_Set() restrictionsSebastian Huber2016-11-031-4/+5
| | | | | | No longer unconditionally prevent scheduler changes if the thread owns resources. Prevent a scheduler change only in case other threads wait for the resource.
* score: Introduce thread resource count methodsSebastian Huber2016-11-035-14/+28
| | | | | This makes it easier to conditionally enable/disable the thread resource count usage.
* rtems: Fix binary semaphore resource countSebastian Huber2016-11-031-4/+1
| | | | | | Binary semaphores (not simple binary semaphores) maintain the resource count since 8797c76addf22a2f0ffc3717ff977695e35b9b0b. Do this also for initially locked binary semaphores.
* testsupport: Determine worker index via processorSebastian Huber2016-11-032-40/+36
| | | | | Determine worker index via the current processor index to get consistent job runs with respect to the cache topology.
* score: Simplify yield and unblock scheduler opsSebastian Huber2016-11-0222-173/+123
| | | | Update #2556.
* score: Introduce Thread_Scheduler_control::homeSebastian Huber2016-11-0223-69/+44
| | | | | | | | Replace Thread_Scheduler_control::control and Thread_Scheduler_control::own_control with new Thread_Scheduler_control::home. Update #2556.
* score: Delete Thread_Scheduler_control::own_nodeSebastian Huber2016-11-0212-48/+31
| | | | Update #2556.
* score: Delete Thread_Scheduler_control::nodeSebastian Huber2016-11-029-30/+12
| | | | Update #2556.
* score: Delete Scheduler_Node::accepts_helpSebastian Huber2016-11-023-13/+1
| | | | Update #2556.
* score: Delete Resource HandlerSebastian Huber2016-11-025-491/+0
| | | | Update #2556.
* score: Second part of new MrsP implementationSebastian Huber2016-11-026-288/+190
| | | | Update #2556.
* score: Delete unused scheduler ask for help X opSebastian Huber2016-11-0212-356/+1
|
* score: Simplify update priority scheduler opSebastian Huber2016-11-0216-53/+30
| | | | Remove unused return status.
* score: Delete _Scheduler_Ask_for_help_if_necessarySebastian Huber2016-11-024-126/+3
| | | | | | Delete Thread_Control::Resource_node. Update #2556.
* score: Delete unused functionsSebastian Huber2016-11-023-123/+0
| | | | | | | Delete _Scheduler_Thread_change_resource_root() and _Scheduler_Thread_change_help_state(). Update #2556.
* score: First part of new MrsP implementationSebastian Huber2016-11-0211-310/+361
| | | | Update #2556.
* score: Use scheduler instance specific locksSebastian Huber2016-11-024-10/+35
| | | | Update #2556.