summaryrefslogtreecommitdiffstats
path: root/cpukit/score/include/rtems/score/schedulersmpimpl.h
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2017-03-07 13:07:02 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2017-03-07 13:21:00 +0100
commit088acbb01fc5060f687e4776f8fc6862060d3aa8 (patch)
treea9445b3bb7de49f8956a0b12cedc0469e1e9bda5 /cpukit/score/include/rtems/score/schedulersmpimpl.h
parentpowerpc: Optimize AltiVec context switch (diff)
downloadrtems-088acbb01fc5060f687e4776f8fc6862060d3aa8.tar.bz2
score: Fix scheduler yield in SMP configurations
Check that no ask help request is registered during unblock and yield scheduler operations. There is no need to ask for help if a scheduled thread yields, since this is already covered by the pre-emption detection. Update #2556.
Diffstat (limited to 'cpukit/score/include/rtems/score/schedulersmpimpl.h')
-rw-r--r--cpukit/score/include/rtems/score/schedulersmpimpl.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/cpukit/score/include/rtems/score/schedulersmpimpl.h b/cpukit/score/include/rtems/score/schedulersmpimpl.h
index 7a281277fa..d91a62c3ca 100644
--- a/cpukit/score/include/rtems/score/schedulersmpimpl.h
+++ b/cpukit/score/include/rtems/score/schedulersmpimpl.h
@@ -1085,8 +1085,8 @@ static inline void _Scheduler_SMP_Yield(
if ( node_state == SCHEDULER_SMP_NODE_SCHEDULED ) {
_Scheduler_SMP_Extract_from_scheduled( node );
-
- needs_help = ( *enqueue_scheduled_fifo )( context, node );
+ ( *enqueue_scheduled_fifo )( context, node );
+ needs_help = false;
} else if ( node_state == SCHEDULER_SMP_NODE_READY ) {
( *extract_from_ready )( context, node );