diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2017-03-07 13:07:02 +0100 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2017-03-07 13:21:00 +0100 |
commit | 088acbb01fc5060f687e4776f8fc6862060d3aa8 (patch) | |
tree | a9445b3bb7de49f8956a0b12cedc0469e1e9bda5 /cpukit/score/include/rtems/score/schedulersmpimpl.h | |
parent | powerpc: Optimize AltiVec context switch (diff) | |
download | rtems-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.h | 4 |
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 ); |