-
Notifications
You must be signed in to change notification settings - Fork 94
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
Add new infeasible.rs crate #159
Conversation
The CI failure is an
|
I agree, and scx_userland as well. See #160 . |
a2e7336
to
96328b0
Compare
@htejun pushed a number of changes, please feel free to take another look. The comments that I haven't directly addressed are still left unresolved above, but everything else should have been addressed so let me know if you see otherwise. |
96328b0
to
37d3060
Compare
I still find the name confusing given that all it does is solving infeasible weights (or is the plan to expand on it?) and it feels like leaving generic names like LoadCalc to actual scheduler implementations would be better, but this is definitely a nitpick. Please feel free to merge. |
We want to avoid every scheduler implementation from having to implement the solution to the infeasible weights problem, but we also want to enable sufficient flexibility where not every program has to have the same partition of scheduling domains, etc. To enable this, a new infeasible crate is added which encapsulates all of the logic for being given duty cycle and weight, and performing the necessary math to adjust for infeasibility. Signed-off-by: David Vernet <[email protected]>
Now that we have a new 'infeasible' crate that abstracts the logic for implementing the infeasible weights solution. Let's update rusty to use it. Signed-off-by: David Vernet <[email protected]>
37d3060
to
8b04a26
Compare
Fair enough, I updated it to |
We want to avoid every scheduler implementation from having to implement
load balancing, but we also want to enable sufficient flexibility where
not every program has to have the same partition of scheduling domains,
etc. To enable this, a new load_balance crate is added which
encapsulates all of the logic for being given duty cycle and weight, and
performing the necessary math to adjust for infeasibility.
In addition, update
scx_rusty
to use the new crate.