Hi,
For SCHED_RR and SCHED_FIFO process, the function sys_sched_yield() moves the real time process to the end of its prioroty list and does not insert it into the expired array.
In case, that process was the only process in its priority list, it will get scheduled again when schedule is called. Is this correct? If it is correct, then even though the real time process wants to give up the CPU, it is not able to do so.
Thanks for your time and help.
Regards,
Thomas.