-
Notifications
You must be signed in to change notification settings - Fork 1.2k
[embassy-executor]: Upstream "Earliest Deadline First" Scheduler (version 2) #4608
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
base: main
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could you add a build combination for edf-scheduler in [package.metadata.embassy] as well? This will make the release tool check it for semver break as well.
@lulf like this? |
@diondokter Yup, that looks good for the example. Also add this to the same section in embassy-executor/Cargo.toml:
|
Updated numbers using the Details
Main
|
0366819
to
0642900
Compare
Alright, so perf looks good and I just added the extra metadata and fixed the merge conflict |
* Start hacking in cordyceps This adds a third kind of runqueue, for now it should work the same as the current "atomics" runqueue, but uses a cordyceps TransferStack instead of the existing home-rolled linked list. * Clean up, use new cordyceps feature * A bit more cleanup * Update docs to be more clear
This implements a minimal version of Deadline Rank Scheduling, as well as ways to access and set Deadlines. This still needs some UX improvements, but is likely Enough for testing.
… be merged upstream
This allows the scheduler to better collaborate with existing critical sections
0642900
to
825211d
Compare
Implementation looks good, and it's great that perf doesn't regress now 🚀
|
Alright! Made the changes. You're right about the weird API. I didn't critically review it after the metadata refactoring.
Idk, I just mirrored the existing metadata feature which looked nice to me. But I've removed it as per your preference. |
An updated #4035 that makes use of the new metadata API.
The example output is still good.
I've also retested with #4374 and these are the numbers:
I don't have a nice rp2040 to test with...