Skip to content

Conversation

@bryanfoley
Copy link
Contributor

@bryanfoley bryanfoley commented Dec 3, 2025

Description

With this PR we enable by default the CFS_BANDWIDTH kernel option, which will allow us to use the SystemD option CPUQuota to limit specific systemd services to only use a maximum percentage of CPU.

This is very useful to ensure that services which are nice to have but not critical to printing, do not claim too much CPU and strangle other processes.

How has this been tested

This feature was tested on NGP systems using a development um-kernel package with CFS_BANDWIDTH enabled and the print_failure or "spaghetti-detection" systemd service file using a CPUQuota=80%, which capped the CPU usage of that service to max 80%:
image

Ready for Review Checklist

To help with deciding if this PR is RFR, use this checklist.

The author confirms that:

  • the author has self-reviewed this work and is highly confident about the quality
  • this work satisfies all acceptance criteria that are stated in the linked ticket
  • this work has been tested on all product families and the process and results are documented in the above section
  • The description above is concise yet complete
  • the reviewer has been offered a walkthrough (if needed)
  • the code is cleaned from any rubbish (e.g. meaningless comments, log-spamming, etc...)
  • remaining #TODO comments mention a Jira ticket number
  • all CI checks are passing
  • all commits are (re)structured to be meaningful and clearly arranged, and all are prepended with the ticket number for traceability

With this PR we enable by default the `CFS_BANDWIDTH` kernel option,
which will allow us to use the SystemD option `CPUQuota` to limit
specific systemd services to only use a maximum percentage of CPU.

This is very useful to ensure that services which are nice to have but
not critical to printing, do not claim too much CPU and strangle other
processes.
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