On 10 Aug 2024, at 05:47, Andrew Warkentin
wrote: On Tue, Jul 23, 2024, 8:15 PM Gerwin Klein via Devel
wrote: If the first thread is round-robin, that means it is always the highest priority thread as soon as it gets started, and the second thread never gets started at all, because the sel4test setup thread does not run any more (since the first thread is always ready).
Keeping the setup thread priority high until after both round-robin threads are started (and then dropping it) shows the correct round robin behaviour for me.
I noticed a similar issue, but I have all the threads at the same priority and the scheduler seems to be behaving more like a FIFO scheduler than a round-robin one.
For period = budget, the behaviour of the MCS scheduler should definitely be round-robin (and does appear to be for all tests so far). If you can reproduce a FIFO behaviour, that would definitely be interesting to investigate further and should be fixed. Cheers, Gerwin