Commit Graph
29905 Commits
Author SHA1 Message Date
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
Sebastian Huber d057d6537f score: Fix _Scheduler_Try_to_schedule_node() usage
Fix wrong use of continue statement in while loops.
2016-11-02 10:05:40 +01:00
Sebastian Huber fac8a3a463 bsps/sparc: Fix copy of initialized data
The text and data sections may have different alignment requirements.
Support a data section alignment greater than 16.
2016-11-02 10:05:40 +01:00
Sebastian Huber b7694c8c9b sptests/sp35: Remove dead code 2016-11-02 08:46:49 +01:00
Sebastian Huber 4cf58905b8 cpuuse: Use rtems_task_iterate()
Update #2423.
2016-11-02 08:46:48 +01:00
Sebastian Huber d271c3bb78 rtems: Add rtems_task_iterate()
Update #2423.
2016-11-02 08:46:47 +01:00
Sebastian Huber bb9f09f34c posix: Fix timer interval
Do not overwrite timer interval with initial interval in
_POSIX_Timer_Insert().

Close #2798.
2016-10-31 13:09:56 +01:00
Sebastian Huber 3e9f4c9232 posix: Fix timeout handling in sigtimedwait()
Update #2798.
2016-10-31 13:09:50 +01:00
Sebastian Huber 7eec247c35 smptests/smplock01: Use test support
Convert output to XML.
2016-10-31 13:09:42 +01:00
Sebastian Huber 1aae680bec sys/sockio.h: Update to FreeBSD head 2016-05-03 2016-10-26 14:05:53 +02:00
Sebastian Huber 505eb557f0 sys/uio.h: Update to FreeBSD head 2015-12-03 2016-10-26 14:05:49 +02:00
Sebastian Huber 8b8d05f4ca sys/event.h: Update to FreeBSD head 2016-06-27 2016-10-26 14:05:44 +02:00
James fc718cb83a Updated xilinx_zynq_a9_qemu bsp README instructions. 2016-10-25 11:01:41 -04:00
Sebastian Huber f94155b8ec bsps/sparc: Add interrupt controller registers 2016-10-19 00:22:57 +02:00
Sebastian Huber 93614125c5 bsp/leon3: Avoid implicit integer conversions 2016-10-19 00:21:21 +02:00