summaryrefslogtreecommitdiffstats
path: root/cpukit/score/src/schedulersimplesmp.c
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2017-02-02 16:24:05 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2017-02-03 10:17:38 +0100
commitca1e546e7772838b20d0792155e2c71514d6b5d3 (patch)
treea5af2d74d6fcefa8d36f0fa32debd886e63cca4b /cpukit/score/src/schedulersimplesmp.c
parentsparc: Fix volatile clobber (diff)
downloadrtems-ca1e546e7772838b20d0792155e2c71514d6b5d3.tar.bz2
score: Improve scheduler helping protocol
Only register ask for help requests in the scheduler unblock and yield operations. The actual ask for help operation is carried out during _Thread_Do_dispatch() on a processor related to the thread. This yields a better separation of scheduler instances. A thread of one scheduler instance should not be forced to carry out too much work for threads on other scheduler instances. Update #2556.
Diffstat (limited to 'cpukit/score/src/schedulersimplesmp.c')
-rw-r--r--cpukit/score/src/schedulersimplesmp.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/cpukit/score/src/schedulersimplesmp.c b/cpukit/score/src/schedulersimplesmp.c
index 221fcc3df5..41eb491019 100644
--- a/cpukit/score/src/schedulersimplesmp.c
+++ b/cpukit/score/src/schedulersimplesmp.c
@@ -281,7 +281,7 @@ static bool _Scheduler_simple_SMP_Enqueue_scheduled_fifo(
);
}
-bool _Scheduler_simple_SMP_Unblock(
+void _Scheduler_simple_SMP_Unblock(
const Scheduler_Control *scheduler,
Thread_Control *thread,
Scheduler_Node *node
@@ -289,7 +289,7 @@ bool _Scheduler_simple_SMP_Unblock(
{
Scheduler_Context *context = _Scheduler_Get_context( scheduler );
- return _Scheduler_SMP_Unblock(
+ _Scheduler_SMP_Unblock(
context,
thread,
node,
@@ -417,7 +417,7 @@ Thread_Control *_Scheduler_simple_SMP_Remove_processor(
);
}
-bool _Scheduler_simple_SMP_Yield(
+void _Scheduler_simple_SMP_Yield(
const Scheduler_Control *scheduler,
Thread_Control *thread,
Scheduler_Node *node
@@ -425,7 +425,7 @@ bool _Scheduler_simple_SMP_Yield(
{
Scheduler_Context *context = _Scheduler_Get_context( scheduler );
- return _Scheduler_SMP_Yield(
+ _Scheduler_SMP_Yield(
context,
thread,
node,