hujun260 commented on code in PR #17324:
URL: https://github.com/apache/nuttx/pull/17324#discussion_r2522862748
##########
sched/sched/sched_suspend.c:
##########
@@ -170,13 +170,12 @@ void nxsched_suspend(FAR struct tcb_s *tcb)
{
switch_needed = nxsched_remove_readytorun(tcb);
- if (switch_needed || !nxsched_islocked_tcb(rtcb))
+ if (switch_needed)
{
#ifdef CONFIG_SMP
- switch_needed |= nxsched_deliver_task(cpu, tcb->cpu,
- SWITCH_HIGHER);
+ nxsched_deliver_task(cpu, tcb->cpu, SWITCH_HIGHER);
#else
- switch_needed |= nxsched_merge_pending();
+ nxsched_merge_pending();
#endif
Review Comment:
> The current running task is always the highest priority
This is not the case. If the current core or other cores trigger scheduling
while scheduling is disabled, higher-priority tasks will fail to execute
immediately.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]