Skip to content

topology-aware: initial scheduling class support.#626

Open
klihub wants to merge 10 commits intocontainers:mainfrom
klihub:devel/topology-aware/scheduling-classes
Open

topology-aware: initial scheduling class support.#626
klihub wants to merge 10 commits intocontainers:mainfrom
klihub:devel/topology-aware/scheduling-classes

Conversation

@klihub
Copy link
Collaborator

@klihub klihub commented Feb 3, 2026

Notes: This PR is stacked on top of #618.

This patch series implements initial scheduling class support for the topology-aware policy. In particular, the PR

  • adds known scheduling classes to the topology aware configuration
  • defines a new annotation key for annotating containers or pods to a scheduling class
  • implements assigning Guaranteed QoS class containers with exclusive CPU allocation to annotated classes
  • adds test cases for scheduling class assignment
  • documents the current level of support for scheduling classes

Signed-off-by: Antti Kervinen <antti.kervinen@intel.com>
Signed-off-by: Antti Kervinen <antti.kervinen@intel.com>
Signed-off-by: Antti Kervinen <antti.kervinen@intel.com>
Signed-off-by: Antti Kervinen <antti.kervinen@intel.com>
Signed-off-by: Antti Kervinen <antti.kervinen@intel.com>
Signed-off-by: Antti Kervinen <antti.kervinen@intel.com>
@klihub klihub force-pushed the devel/topology-aware/scheduling-classes branch from 091fe49 to be49f4e Compare February 3, 2026 13:45
@klihub klihub changed the title topology-aware: implement scheduling-class support. topology-aware: initial scheduling class support. Feb 3, 2026
Copy link
Collaborator

@askervin askervin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks very good to me. I trust your judgement in the only thing that I noticed and raised reviewing this.

@klihub
Copy link
Collaborator Author

klihub commented Feb 5, 2026

Looks very good to me. I trust your judgement in the only thing that I noticed and raised reviewing this.

Well, although I'm glad to hear it, I myself not so much this time. I think it's a good idea to extend the eligibility for scheduling classes to at least Burstable and non-exclusive Guaranteed class containers, and perhaps even throwing in the per-QoS class default scheduling class I mentioned.

@klihub klihub force-pushed the devel/topology-aware/scheduling-classes branch from be49f4e to a5139db Compare February 5, 2026 19:33
@klihub
Copy link
Collaborator Author

klihub commented Feb 5, 2026

@askervin Okay, I reworked this a bit, adding

  • scheduling class assignment for any container, not just ones with exclusive CPU allocations
  • per namespace default scheduling class
  • per Pod QoS class default scheduling class
  • more test cases

Per namespace scheduling classes take precedence over per Pod QoS class ones, and explicitly annotation scheduling classes take precedence over both.

@klihub klihub force-pushed the devel/topology-aware/scheduling-classes branch from a5139db to f7516fa Compare February 5, 2026 19:52
Add support for declaring known scheduling classes for the topology-
aware policy. A scheduling class is a combination of Linux schduler
policy and I/O priority parameters. It is represented using the same
policy-agnostic data structure as used by the balloons policy.

Signed-off-by: Krisztian Litkey <krisztian.litkey@intel.com>
Implement support for annotated assignment of containers to scheduling
classes.

Signed-off-by: Krisztian Litkey <krisztian.litkey@intel.com>
@klihub klihub force-pushed the devel/topology-aware/scheduling-classes branch from f7516fa to 7d20aac Compare February 5, 2026 20:04
@klihub klihub requested a review from askervin February 5, 2026 20:08
Copy link
Collaborator

@askervin askervin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One typo, recurring. I hope the tests will still pass after it. ;)

Otherwise, looks great.

Signed-off-by: Krisztian Litkey <krisztian.litkey@intel.com>
Signed-off-by: Krisztian Litkey <krisztian.litkey@intel.com>
@klihub klihub force-pushed the devel/topology-aware/scheduling-classes branch from 7d20aac to 8b16a99 Compare February 6, 2026 09:07
@klihub
Copy link
Collaborator Author

klihub commented Feb 6, 2026

One typo, recurring. I hope the tests will still pass after it. ;)

Otherwise, looks great.

Well, they pass now... and this time they also properly fail if that typo is in place.

Copy link
Collaborator

@askervin askervin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants