Repository navigation
Conversation
When comparing two pools for a burstable container with an unlimited CPU limit, compareScores returned true for the case where the second pool wins on the burstability level limit. Returning true means the first pool sorts first, so the comparison ranked the loser ahead. Every other branch returns false when the second pool wins. Return false here too. Signed-off-by: Alexander Kanevskiy <alexander.kanevskiy@intel.com>
A burstable container with a memory request but no memory limit always ended up in the root pool. The memory burstability check ran before the CPU burstability check and, for a zero limit, preferred the pool with the largest memory capacity. That is always the root, so the unlimitedBurstable setting (and the per-container annotation) never got a say. A pod requesting 1 CPU and 1G of memory with no limits was pinned to the shared cpuset of the whole machine and had its memory spread over every NUMA node. Keep the capacity check for containers that have a memory limit. For unlimited memory, decide after the CPU burstability check: a pool at the configured unlimitedBurstable topology level wins, and only for a tie do we prefer the pool with more memory capacity. Add a unit test for the placement. Change test14-burstable accordingly, since pod3 (memory limit 0) now gets one socket instead of all four NUMA nodes by default. Signed-off-by: Alexander Kanevskiy <alexander.kanevskiy@intel.com>
kad
force-pushed
the
fix/unlimited-burstable
branch
from
October 24, 2026 10:05
5cfca2c to
7683461
Compare
klihub
approved these changes
Oct 27, 2026
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes the scenario where pod with memory limits set respects the
unlimited-burstable.resource-policy.nri.ioand one without memory limit specified always ends up on root pool.