mirror of
https://gitlab.rtems.org/rtems/rtos/rtems.git
synced 2025-12-05 23:23:13 +00:00
score: Change _Scheduler_Try_to_schedule_node()
Add the victim node as parameter instead of the idle thread. Update #4531.
This commit is contained in:
@@ -969,7 +969,7 @@ RTEMS_INLINE_ROUTINE Scheduler_Try_to_schedule_action
|
|||||||
_Scheduler_Try_to_schedule_node(
|
_Scheduler_Try_to_schedule_node(
|
||||||
Scheduler_Context *context,
|
Scheduler_Context *context,
|
||||||
Scheduler_Node *node,
|
Scheduler_Node *node,
|
||||||
const Thread_Control *idle,
|
Scheduler_Node *victim,
|
||||||
Scheduler_Get_idle_thread get_idle_thread
|
Scheduler_Get_idle_thread get_idle_thread
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
@@ -994,7 +994,7 @@ _Scheduler_Try_to_schedule_node(
|
|||||||
action = SCHEDULER_TRY_TO_SCHEDULE_DO_BLOCK;
|
action = SCHEDULER_TRY_TO_SCHEDULE_DO_BLOCK;
|
||||||
} else if ( node->sticky_level == 0 ) {
|
} else if ( node->sticky_level == 0 ) {
|
||||||
action = SCHEDULER_TRY_TO_SCHEDULE_DO_BLOCK;
|
action = SCHEDULER_TRY_TO_SCHEDULE_DO_BLOCK;
|
||||||
} else if ( idle != NULL ) {
|
} else if ( _Scheduler_Node_get_idle( victim ) != NULL ) {
|
||||||
action = SCHEDULER_TRY_TO_SCHEDULE_DO_IDLE_EXCHANGE;
|
action = SCHEDULER_TRY_TO_SCHEDULE_DO_IDLE_EXCHANGE;
|
||||||
} else {
|
} else {
|
||||||
Thread_Control *idle;
|
Thread_Control *idle;
|
||||||
|
|||||||
@@ -810,7 +810,7 @@ static inline void _Scheduler_SMP_Enqueue_to_scheduled(
|
|||||||
action = _Scheduler_Try_to_schedule_node(
|
action = _Scheduler_Try_to_schedule_node(
|
||||||
context,
|
context,
|
||||||
node,
|
node,
|
||||||
_Scheduler_Node_get_idle( lowest_scheduled ),
|
lowest_scheduled,
|
||||||
_Scheduler_SMP_Get_idle_thread
|
_Scheduler_SMP_Get_idle_thread
|
||||||
);
|
);
|
||||||
|
|
||||||
@@ -987,7 +987,7 @@ static inline bool _Scheduler_SMP_Enqueue_scheduled(
|
|||||||
action = _Scheduler_Try_to_schedule_node(
|
action = _Scheduler_Try_to_schedule_node(
|
||||||
context,
|
context,
|
||||||
highest_ready,
|
highest_ready,
|
||||||
_Scheduler_Node_get_idle( node ),
|
node,
|
||||||
_Scheduler_SMP_Get_idle_thread
|
_Scheduler_SMP_Get_idle_thread
|
||||||
);
|
);
|
||||||
|
|
||||||
@@ -1086,7 +1086,7 @@ static inline void _Scheduler_SMP_Schedule_highest_ready(
|
|||||||
action = _Scheduler_Try_to_schedule_node(
|
action = _Scheduler_Try_to_schedule_node(
|
||||||
context,
|
context,
|
||||||
highest_ready,
|
highest_ready,
|
||||||
NULL,
|
victim,
|
||||||
_Scheduler_SMP_Get_idle_thread
|
_Scheduler_SMP_Get_idle_thread
|
||||||
);
|
);
|
||||||
|
|
||||||
@@ -1145,7 +1145,7 @@ static inline void _Scheduler_SMP_Preempt_and_schedule_highest_ready(
|
|||||||
action = _Scheduler_Try_to_schedule_node(
|
action = _Scheduler_Try_to_schedule_node(
|
||||||
context,
|
context,
|
||||||
highest_ready,
|
highest_ready,
|
||||||
NULL,
|
victim,
|
||||||
_Scheduler_SMP_Get_idle_thread
|
_Scheduler_SMP_Get_idle_thread
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user