-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix thread insertion in ready list when blocked by higher priority thread #1000
base: develop
Are you sure you want to change the base?
Conversation
Hi @singds, this is a known limitation already discussed in #228. Given the current limitation we recommend not mixing round robin and priority based scheduling. Cheers, |
Thank you for your rapid feedback, About not mixing round robin with priority may be the case to write some line in the official documentation, because it shows actually an example of priority mixed with round-robin. |
Good catch. Changing the implementation, even if its such a small change, might affect existing applications. Basically, I think you change has a chance to work and deliver some sort of advantage. But as we might inappropriately affect existing application I tend to be very conservative. Cheers, |
I totally agree with you. The change is too delicate to be silently included. |
Yes, probably we need to have some sort of config options here. We are due to enhance the scheduler, anyhow. This will take its time but we are happy to incorporate your proposals. |
Hi, Thanks |
Can one of the admins verify this patch? |
Round-Robin timeout value is not reset any more when switching to higher priority threads.
Hi,
I encountered the following issue using rtx.
There is a situation in which i ended up with one thread not sharing time with threads with same priority, in round-robin scheduling.
This happens when the thread in question is frequently interrupted by a higher priority thread.
In this interrupt the thread is blocked and reinserted in the ready list before other processes with same priority.
In the end, if a thread is always interrupted before it ends its timeslice, it never gives other threads with same priority the chance to run.
I think this can easily be fixed inserting the blocked thread in the ready list after al threads with same priority already in.