node: cpumgr: metrics: add uncore cache alignment metrics#130133
node: cpumgr: metrics: add uncore cache alignment metrics#130133k8s-ci-robot merged 5 commits intokubernetes:masterfrom
Conversation
|
/sig node |
|
/retest-required |
fdbd95c to
9a69f7c
Compare
|
/retest |
|
/cc @dashpole we are adding a new metric and we can use your review. Hopefully this will be quick! |
SergeyKanzhelev
left a comment
There was a problem hiding this comment.
/lgtm
/approve
straightforward enough
|
LGTM label has been added. DetailsGit tree hash: ec80b0b82a58e0a2a94b46cbce8aaa8b0362d859 |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: ffromani, SergeyKanzhelev The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
|
/triage accepted kinda implied by the context, but still |
abort the test in the unlikely case we fail to create the Policy object. Exactly because this is unlikely we should fail loudly. In my case this happened because unrelated bad parameters, which was hard to catch Signed-off-by: Francesco Romani <fromani@redhat.com>
There's no need to use the generic reflect.DeepEqual, we can use the cpuset Equals method in tests, which is more idiomatic and a tad clearer. Signed-off-by: Francesco Romani <fromani@redhat.com>
get nicer output for free Signed-off-by: Francesco Romani <fromani@redhat.com>
fix test name. Cosmetic only. Signed-off-by: Francesco Romani <fromani@redhat.com>
add missing metric about uncore / L3 / Last-Level cache alignment, plus its e2e tests. Exposing uncore alignment requires a bit of refactoring in the static policy implementation because, differently from full PCPUs alignment and NUMA alignment, can't be easily and safely inferred by construction. The main reason for this is that uncore cache alignment is preferred, not mandatory, thus the cpu allocator can legally use cross-uncore allocation. Because of that, the final cpuset union step can create a final cpuset which is not uncore-aligned even though all its parts are uncore-aligned. The safest way seems thus to run just a final uncore-alignment check once the final cpuset is computed. Signed-off-by: Francesco Romani <fromani@redhat.com>
9a69f7c to
5c17e7b
Compare
|
/retest |
swatisehgal
left a comment
There was a problem hiding this comment.
Left a minor comment but not a blocker.
/lgtm
| } | ||
| return | ||
| } | ||
| // TODO: move in updateMetricsOnAllocate |
There was a problem hiding this comment.
What is the reason for postponing this? Should we handle this in this PR itself?
There was a problem hiding this comment.
had to serialize quite some PRs in this area, not sure which one would be the last so can carry this cleanup
There was a problem hiding this comment.
...AND there 's a thorny issue I don't have a solution yet. In theory, the code portion which owns alignment information is the topology object; hence, we should report metrics based on that. Yet, for historical reasons, we make logic on the options object. I don't know how to properly cleanup this yet.
|
LGTM label has been added. DetailsGit tree hash: e5799ca8b1cb5dc6737684efc7f0e0d0a942b02e |
What type of PR is this?
/kind cleanup
What this PR does / why we need it:
Add alignment metrics for uncore (aka last-level) cache (KEP-4800)
Which issue(s) this PR fixes:
Part of the work needed for KEP 4800: kubernetes/enhancements#4800
Special notes for your reviewer:
continuation of #100145 29529
Does this PR introduce a user-facing change?