Commit Graph
29819 Commits
Author SHA1 Message Date
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
Sebastian Huber 07a32d1932 score: Add thread scheduler lock
Update #2556.
2016-11-02 10:05:42 +01:00
Sebastian Huber 70c22d9395 score: Add _Thread_Scheduler_remove_wait_node()
Update #2556.
2016-11-02 10:05:41 +01:00
Sebastian Huber 36d7abad13 score: Add _Thread_Scheduler_add_wait_node()
Update #2556.
2016-11-02 10:05:41 +01:00
Sebastian Huber 1c9688a9a1 score: Add _Scheduler_Node_get_scheduler()
Update #2556.
2016-11-02 10:05:41 +01:00
Sebastian Huber 3a724113f9 score: Simplify _Scheduler_SMP_Node_change_state()
Update #2556.
2016-11-02 10:05:41 +01:00
Sebastian Huber 72e0bdba45 score: Pass scheduler node to unblock operation
Changed for consistency with other scheduler operations.

Update #2556.
2016-11-02 10:05:41 +01:00
Sebastian Huber e382a1bfcc score: Pass scheduler node to block operation
Changed for consistency with other scheduler operations.

Update #2556.
2016-11-02 10:05:41 +01:00
Sebastian Huber 2df4abcee2 score: Pass scheduler node to yield operation
Changed for consistency with other scheduler operations.

Update #2556.
2016-11-02 10:05:40 +01:00
Sebastian Huber 501043a18b score: Pass scheduler node to update priority op
This enables to call this scheduler operation for all scheduler nodes
available to a thread.

Update #2556.
2016-11-02 10:05:40 +01:00
Sebastian Huber d097b54633 score: Rename scheduler ask for help stuff
Rename the scheduler ask for help stuff since this will be replaced step
by step with a second generation of the scheduler helping protocol.
Keep the old one for now in parallel to reduce the patch set sizes.

Update #2556.
2016-11-02 10:05:40 +01:00