| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
The thread dispatch inline option is no longer used.
|
|
|
|
|
| |
The POSIX cleanup list must be proteced from asynchronous thread
deletion. Here local interrupt disable is sufficient.
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
updates #2802.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Move _CPU_Get_current_per_CPU_control() from <rtems/score/cpu.h> to
<rtems/score/cpuimpl.h>.
|
|
|
|
| |
Update #2797.
|
|
|
|
| |
Update #2797.
|
|
|
|
|
|
|
|
| |
Rename _Scheduler_Assignments into _Scheduler_Initial_assignments to
make it clear that they may not reflect the run-time scheduler
assignment.
Update #2797.
|
| |
|
|
|
|
|
|
|
| |
This makes it possible to adjust the scheduler of a processor at
run-time.
Update #2797.
|
|
|
|
| |
Avoid use of processor index 0 which may have no scheduler assigned.
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
The ceiling priorities must be initialized by scheduler index. Do not
confuse it with a processor index.
|
|
|
|
| |
Avoid use of processor index 0 which may have no scheduler assigned.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
| |
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..
|
|
|
|
|
| |
These kernel space header files must be provided for Newlib
172e2050d95b41861db858dd9bc43a3fb4a28987.
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
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>.
|
| |
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
| |
Use non-inline SMP lock acquire and release operations by default.
Provide inline variants for the hot spots, e.g. mutex acquire/release.
|
|
|
|
| |
Do not reference the objects information directly.
|
|
|
|
| |
Use right object class.
|
|
|
|
|
| |
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.
|
|
|
|
| |
Necessary to support a network stack update to FreeBSD 12.
|
| |
|
|
|
|
|
| |
Maintain the thread resource count only in debug configurations. This
is a performance optimization for non-debug configurations.
|
|
|
|
|
|
| |
No longer unconditionally prevent scheduler changes if the thread owns
resources. Prevent a scheduler change only in case other threads wait
for the resource.
|
|
|
|
|
| |
This makes it easier to conditionally enable/disable the thread resource
count usage.
|
|
|
|
|
|
| |
Binary semaphores (not simple binary semaphores) maintain the resource
count since 8797c76addf22a2f0ffc3717ff977695e35b9b0b. Do this also for
initially locked binary semaphores.
|
|
|
|
|
| |
Determine worker index via the current processor index to get consistent
job runs with respect to the cache topology.
|
|
|
|
| |
Update #2556.
|
|
|
|
|
|
|
|
| |
Replace Thread_Scheduler_control::control and
Thread_Scheduler_control::own_control with new
Thread_Scheduler_control::home.
Update #2556.
|
|
|
|
| |
Update #2556.
|
|
|
|
| |
Update #2556.
|
|
|
|
| |
Update #2556.
|
|
|
|
| |
Update #2556.
|
|
|
|
| |
Update #2556.
|
| |
|
|
|
|
| |
Remove unused return status.
|
|
|
|
|
|
| |
Delete Thread_Control::Resource_node.
Update #2556.
|
|
|
|
|
|
|
| |
Delete _Scheduler_Thread_change_resource_root() and
_Scheduler_Thread_change_help_state().
Update #2556.
|
|
|
|
| |
Update #2556.
|
|
|
|
| |
Update #2556.
|