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
CNF-8808: perfruntime: add shared cpus to container's cgroup #7502
Conversation
@Tal-or: This pull request references CNF-8808 which is a valid jira issue. Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "4.15.0" version, but no target version was set. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
Hi @Tal-or. Thanks for your PR. I'm waiting for a cri-o member to verify that this patch is reasonable to test. If it is, they should reply with Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
Depends on: #7485 |
37b7869
to
fd8ddf7
Compare
Codecov Report
Additional details and impacted files@@ Coverage Diff @@
## main #7502 +/- ##
==========================================
- Coverage 48.69% 48.52% -0.18%
==========================================
Files 145 145
Lines 15926 16055 +129
==========================================
+ Hits 7755 7790 +35
- Misses 7236 7327 +91
- Partials 935 938 +3 |
36db7f4
to
2dd2faa
Compare
/ok-to-test |
9bdb2a6
to
d16cec9
Compare
@@ -26,6 +27,38 @@ var ( | |||
cgroupIsV2Err error | |||
) | |||
|
|||
// CgroupHierarchy is a cgroup version agnostic struct that allows |
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 is best here. This package has a pretty particular use (for initializing variables that CRI-O needs to react to on the node). If it's not being used anywhere else, I'd prefer it in runtime_handler_hooks
1cc1f96
to
20a631a
Compare
The common case is that mixed CPUs will be used along side load-balancing disable. prep up a cgroup-child as part of the `setSharedCPUs` to save extra work and more conditioning when the `setCPULoadBalancing` function is being called. Signed-off-by: Talor Itzhak <titzhak@redhat.com>
20a631a
to
14e6af6
Compare
/retest |
2 similar comments
/retest |
/retest |
looks unrelated |
needs #7566 |
14e6af6
to
408feca
Compare
/lgtm |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: haircommander, Tal-or The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
87f1c78
to
14e6af6
Compare
/lgtm |
/hold cancel |
/retest |
/override ci/prow/ci-fedora-integration |
@haircommander: Overrode contexts on behalf of haircommander: ci/prow/ci-fedora-integration In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
/override ci/prow/e2e-gcp-ovn aws passed |
@haircommander: Overrode contexts on behalf of haircommander: ci/prow/e2e-gcp-ovn In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
What type of PR is this?
/kind feature
What this PR does / why we need it:
Given an annotation CRI-O appends additional CPUs (named shared CPUs)
into the container's cgroups.
The operation is done via a performance runtime hook.
This will allow the container to run light-weight tasks
on the shared cpus, while all the other task that
requires full isolation will keep running on the guaranteed CPUs.
It also injects env variables in to the container
in order to distinguish between the isolated and shared CPUs.
Which issue(s) this PR fixes:
None
Special notes for your reviewer:
Related to:
Depends on:
EP: openshift/enhancements@76ea48a
Does this PR introduce a user-facing change?