-
-
Notifications
You must be signed in to change notification settings - Fork 4.2k
Description
Is your feature request related to a problem? Please describe.
systemd automatically and hierarchically enables cgroup controllers when a unit requests the usage of those controllers. Generally, enabling controllers don't cause a noticeable amount of overhead and this behavior is completely fine; however, there are cases where controller nesting can add a significant amount of overhead (e.g. cpu control). Combined with the auto-enable of controllers, this can lead to unexpected performance issues. It'd be useful if there is a way to block certain controllers from being enabled.
Describe the solution you'd like
If a slice could block controllers using a config similar to Delegate=, it'd be great. Maybe sth like DisableControllers=? We'd also need a matching system-level config so that a controller can be blocked from system root level too.
Describe alternatives you've considered
- We could add cpu-controller specific knob at the system level to limit maximum level of nesting but it's nasty interface-wise, and something more generic could be useful for other purposes.
- There are efforts to improve CPU controller performance but that likely is gonna take a long time and there's a pretty high level of uncertainty.