Sebastian Huber
2f5ac5b507
rtems: Fix rtems_task_create() scheduler selection
...
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.
2016-11-09 15:27:28 +01:00
Sebastian Huber
eb98dd49bc
score: Inline some SMP lock operations by default
...
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..
2016-11-09 15:19:59 +01:00
Sebastian Huber
6de41c5fe9
Provide kernel space header files
...
These kernel space header files must be provided for Newlib
172e2050d95b41861db858dd9bc43a3fb4a28987.
2016-11-08 10:15:28 +01:00
Sebastian Huber
6cb234f079
bsp/qoriq: Remove duplicate qoriq_gpio definition
...
Close #2800 .
2016-11-07 09:31:35 +01:00
Sebastian Huber
7790d95f0a
sparc: Provide _CPU_Get_thread_executing()
2016-11-07 07:39:42 +01:00
Sebastian Huber
df48ed2cba
score: Add optional _CPU_Get_thread_executing()
2016-11-07 07:39:42 +01:00
Sebastian Huber
edbd43c613
score: Prevent assignment to _Thread_Executing
2016-11-07 07:39:41 +01:00
Sebastian Huber
df63fbd1ac
score: Add <rtems/score/cpuimpl.h>
...
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>.
2016-11-07 07:39:41 +01:00
Sebastian Huber
ee42943cd0
score: Optimize self-contained mutexes
2016-11-04 10:54:53 +01:00
Sebastian Huber
e7ab43d46f
score: Use non-inline thread queue lock ops
...
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.
2016-11-04 10:54:52 +01:00
Sebastian Huber
347ef92898
score: Provide inline variants for ISR lock ops
2016-11-04 10:54:52 +01:00
Sebastian Huber
9cd53495d2
score: Default to non-inline SMP lock ops
...
Use non-inline SMP lock acquire and release operations by default.
Provide inline variants for the hot spots, e.g. mutex acquire/release.
2016-11-04 10:54:52 +01:00
Sebastian Huber
9597c4ed56
Size optimization for resource snapshots
...
Do not reference the objects information directly.
2016-11-04 10:54:52 +01:00
Sebastian Huber
8b18b8eb67
posix: Fix _POSIX_RWLock_Manager_initialization()
...
Use right object class.
2016-11-04 10:54:52 +01:00
Sebastian Huber
76ad5e0c44
score: Fix _Scheduler_Try_to_schedule_node()
...
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.
2016-11-04 08:34:11 +01:00
Tim Cussins
11ae6f94f8
virtex4, virtex5 bsp.h: Use BSP_INTERRUPT_STACK_SIZE not user space CONFIGURE_INTERRUPT_STACK_SIZE
...
closes #2801 .
2016-11-03 12:49:12 -05:00
Joel Sherrill
8cf2f8b6f3
testsuites/testdata/dltests-broken-on-this-bsp.tcfg: Add new dl tests 03-05
2016-11-03 10:56:09 -05:00
Joel Sherrill
0df50a6c99
m68k/mrm332/make/custom/mrm332-testsuite.tcfg: Add dl05
2016-11-03 10:56:09 -05:00
Joel Sherrill
c27986335c
m68k/mcf5225x/make/custom/mcf5225x-testsuite.tcfg: Add dl05
2016-11-03 10:56:09 -05:00
Joel Sherrill
fbf45431ae
m68k/mcf52235/make/custom/mcf52235-testsuite.tcfg: Add dl05
2016-11-03 10:56:09 -05:00
Joel Sherrill
710302ae48
mcf5206elite/make/custom/mcf5206elite-testsuite.tcfg: Add dl05
2016-11-03 10:56:08 -05:00
Joel Sherrill
c7589640f9
moxiesim/bsp_specs: Add crtbegin/end to fix link issues
2016-11-03 10:56:08 -05:00
Sebastian Huber
afa92ab764
score: Add _Watchdog_Ticks_from_sbintime
...
Necessary to support a network stack update to FreeBSD 12.
2016-11-03 15:02:42 +01:00
Sebastian Huber
9599b4683d
score: Delete unused _Scheduler_Is_id_valid()
2016-11-03 11:23:49 +01:00
Sebastian Huber
47d246436f
score: Conditionally enable thread resource count
...
Maintain the thread resource count only in debug configurations. This
is a performance optimization for non-debug configurations.
2016-11-03 11:23:30 +01:00
Sebastian Huber
9e7fa07169
score: Relax _Scheduler_Set() restrictions
...
No longer unconditionally prevent scheduler changes if the thread owns
resources. Prevent a scheduler change only in case other threads wait
for the resource.
2016-11-03 11:19:34 +01:00
Sebastian Huber
0dd49d0015
score: Introduce thread resource count methods
...
This makes it easier to conditionally enable/disable the thread resource
count usage.
2016-11-03 10:55:48 +01:00
Sebastian Huber
6e31b56f95
rtems: Fix binary semaphore resource count
...
Binary semaphores (not simple binary semaphores) maintain the resource
count since 8797c76add . Do this also for
initially locked binary semaphores.
2016-11-03 10:55:31 +01:00
Sebastian Huber
0154dea369
tmtests/tmfine01: Update screen file
...
Add plot script.
2016-11-03 10:02:39 +01:00
Sebastian Huber
d505fbbd31
smptests/smplock01: Update screen file
2016-11-03 10:02:39 +01:00
Sebastian Huber
86d3a2e8a0
testsupport: Determine worker index via processor
...
Determine worker index via the current processor index to get consistent
job runs with respect to the cache topology.
2016-11-03 10:02:39 +01:00
Sebastian Huber
63e2ca1b8b
score: Simplify yield and unblock scheduler ops
...
Update #2556 .
2016-11-02 10:05:45 +01:00
Sebastian Huber
2dd098a635
score: Introduce Thread_Scheduler_control::home
...
Replace Thread_Scheduler_control::control and
Thread_Scheduler_control::own_control with new
Thread_Scheduler_control::home.
Update #2556 .
2016-11-02 10:05:45 +01:00
Sebastian Huber
7f7424329e
score: Delete Thread_Scheduler_control::own_node
...
Update #2556 .
2016-11-02 10:05:45 +01:00
Sebastian Huber
c0f1f52763
score: Delete Thread_Scheduler_control::node
...
Update #2556 .
2016-11-02 10:05:45 +01:00
Sebastian Huber
b5f1b24902
score: Delete Scheduler_Node::accepts_help
...
Update #2556 .
2016-11-02 10:05:45 +01:00
Sebastian Huber
1cafc46646
score: Delete Resource Handler
...
Update #2556 .
2016-11-02 10:05:44 +01:00
Sebastian Huber
6771359fa1
score: Second part of new MrsP implementation
...
Update #2556 .
2016-11-02 10:05:44 +01:00
Sebastian Huber
0e754facf4
score: Delete unused scheduler ask for help X op
2016-11-02 10:05:44 +01:00
Sebastian Huber
9c238e1bd4
score: Simplify update priority scheduler op
...
Remove unused return status.
2016-11-02 10:05:44 +01:00
Sebastian Huber
97f7dac660
score: Delete _Scheduler_Ask_for_help_if_necessary
...
Delete Thread_Control::Resource_node.
Update #2556 .
2016-11-02 10:05:44 +01:00
Sebastian Huber
73a193fdd6
score: Delete unused functions
...
Delete _Scheduler_Thread_change_resource_root() and
_Scheduler_Thread_change_help_state().
Update #2556 .
2016-11-02 10:05:43 +01:00
Sebastian Huber
3a27248054
score: First part of new MrsP implementation
...
Update #2556 .
2016-11-02 10:05:43 +01:00
Sebastian Huber
913864c0b8
score: Use scheduler instance specific locks
...
Update #2556 .
2016-11-02 10:05:43 +01:00
Sebastian Huber
6a82f1ae8c
score: Yield support for new SMP helping protocol
...
Update #2556 .
2016-11-02 10:05:43 +01:00
Sebastian Huber
351c14dfd0
score: Add new SMP scheduler helping protocol
...
Update #2556 .
2016-11-02 10:05:43 +01:00
Sebastian Huber
240347331d
score: Add _Thread_Scheduler_process_requests()
...
Update #2556 .
2016-11-02 10:05:42 +01:00
Sebastian Huber
ebdd2a3431
score: Add scheduler node requests
...
Add the ability to add/remove scheduler nodes to/from the set of
scheduler nodes available to the schedulers for a particular thread.
Update #2556 .
2016-11-02 10:05:42 +01:00
Sebastian Huber
edb020ca67
score: Protect thread CPU by thread scheduler lock
...
Update #2556 .
2016-11-02 10:05:42 +01:00
Sebastian Huber
a7a8ec0325
score: Protect thread scheduler state changes
...
Update #2556 .
2016-11-02 10:05:42 +01:00