[PATCH 07/27] score: Add missing idle thread releases

Sebastian Huber sebastian.huber at embedded-brains.de
Mon Nov 15 17:12:39 UTC 2021


Update #4531.
---
 cpukit/include/rtems/score/schedulersmpimpl.h | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/cpukit/include/rtems/score/schedulersmpimpl.h b/cpukit/include/rtems/score/schedulersmpimpl.h
index a1a048d4ed..944b4fc976 100644
--- a/cpukit/include/rtems/score/schedulersmpimpl.h
+++ b/cpukit/include/rtems/score/schedulersmpimpl.h
@@ -1092,6 +1092,12 @@ static inline void _Scheduler_SMP_Schedule_highest_ready(
       );
 
       ( *move_from_ready_to_scheduled )( context, highest_ready );
+
+      _Scheduler_Release_idle_thread(
+        context,
+        victim,
+        _Scheduler_SMP_Release_idle_thread
+      );
     } else {
       _Assert( action == SCHEDULER_TRY_TO_SCHEDULE_DO_BLOCK );
 
@@ -1150,6 +1156,12 @@ static inline void _Scheduler_SMP_Preempt_and_schedule_highest_ready(
       );
 
       ( *move_from_ready_to_scheduled )( context, highest_ready );
+
+      _Scheduler_Release_idle_thread(
+        context,
+        victim,
+        _Scheduler_SMP_Release_idle_thread
+      );
     } else {
       _Assert( action == SCHEDULER_TRY_TO_SCHEDULE_DO_BLOCK );
 
-- 
2.26.2



More information about the devel mailing list