-
Notifications
You must be signed in to change notification settings - Fork 1.5k
[KEP-5246] Migrate to systemd's cgroup v1 CPU shares to v2 CPU weight formula #5247
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: master
Are you sure you want to change the base?
[KEP-5246] Migrate to systemd's cgroup v1 CPU shares to v2 CPU weight formula #5247
Conversation
Signed-off-by: Itamar Holder <[email protected]>
9285303
to
12f5084
Compare
Signed-off-by: Itamar Holder <[email protected]>
12f5084
to
8020ae0
Compare
FYI @vladikr |
/cc @giuseppe |
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.
LGTM
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: giuseppe, iholder101 The full list of commands accepted by this bot can be found here.
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
|
||
- A significant amount of the work would need to land in other layers, mainly OCI runtimes and the CRI. | ||
- We'll probably need a CRI configuration to ensure coordination between the CRI and the OCI runtimes implementations, | ||
and to ensure it lands at the same version, as suggested |
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.
Should we expand this in the design section to understand what needs to be changed and how the rollout will happen?
|
||
That being said, the formula in entirely an implementation detail that's most probably not being counted | ||
to have certain concrete values. In any way, we should ensure that the new formula is well documented | ||
and that the change is properly communicated to the users. |
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.
Will there be a way for the users to configure back to the previous behavior, in the case of unexpected issues resulted from the change?
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.
I don't think this mechanism will be implemented by the OCI runtimes, the entire mechanism is a workaround for using cgroup v1 settings in a cgroup v2 environment.
If someone wants to have full control of the cgroup v2 values, then the must use the native cgroupv2 unified map to pass the correct value down the stack
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.
I mainly asked because if we simply switched the implementation, it may have unexpected impact on user workloads. Having an option to preserve the original behavior can be important
/cc |
One-line PR description: Migrate to systemd's cgroup v1 CPU shares to v2 CPU weight formula.
Issue link: Migrate to systemd's cgroup v1 CPU shares to v2 CPU weight formula #5246
Other comments:
See discussion on Conversion of cgroup v1 CPU shares to v2 CPU weight causes workloads to have low CPU priority kubernetes#131216
KEP in a human-readable format: https://github.com/iholder101/kubernetes-enhancements/blob/kep/systemd_cpu_cgroup_conversion/keps/sig-node/5246-cgroup-cpu-share-to-weight-conversion/README.md