Skip to content

Commit 109d59e

Browse files
Merge pull request #5735 from juanluisvaladas/remove-cgroups-kconfig
Remove CGROUP kconfig checks
2 parents 103b7c7 + 7cb12d9 commit 109d59e

File tree

4 files changed

+3
-40
lines changed

4 files changed

+3
-40
lines changed

docs/external-runtime-deps.md

+1-17
Original file line numberDiff line numberDiff line change
@@ -44,22 +44,6 @@ own workloads may require more.
4444

4545
- [`CONFIG_CGROUPS`](https://github.com/torvalds/linux/blob/v4.3/init/Kconfig#L927):
4646
Control Group support
47-
- [`CONFIG_CGROUP_FREEZER`](https://github.com/torvalds/linux/blob/v4.3/init/Kconfig#L953):
48-
Freezer cgroup subsystem
49-
- [`CONFIG_CGROUP_PIDS`](https://github.com/torvalds/linux/blob/v4.3/init/Kconfig#L959):
50-
PIDs cgroup subsystem
51-
[kubernetes/kubeadm#2335 (comment)](https://github.com/kubernetes/kubeadm/issues/2335#issuecomment-722405527)
52-
- [`CONFIG_CGROUP_DEVICE`](https://github.com/torvalds/linux/blob/v4.3/init/Kconfig#L975):
53-
Device controller for cgroups
54-
- [`CONFIG_CPUSETS`](https://github.com/torvalds/linux/blob/v4.3/init/Kconfig#L981):
55-
Cpuset support
56-
- [`CONFIG_CGROUP_CPUACCT`](https://github.com/torvalds/linux/blob/v4.3/init/Kconfig#L996):
57-
Simple CPU accounting cgroup subsystem
58-
- [`CONFIG_MEMCG`](https://github.com/torvalds/linux/blob/v4.3/init/Kconfig#L1005):
59-
Memory Resource Controller for Control Groups
60-
- _(optional)_ [`CONFIG_CGROUP_HUGETLB`](https://github.com/torvalds/linux/blob/v4.3/init/Kconfig#L1055):
61-
HugeTLB Resource Controller for Control Groups
62-
[kubernetes/kubeadm#2335 (comment)](https://github.com/kubernetes/kubeadm/issues/2335#issuecomment-722405527)
6347
- [`CONFIG_CGROUP_SCHED`](https://github.com/torvalds/linux/blob/v4.3/init/Kconfig#L1081):
6448
Group CPU scheduler
6549
- [`CONFIG_FAIR_GROUP_SCHED`](https://github.com/torvalds/linux/blob/v4.3/init/Kconfig#L1090):
@@ -125,7 +109,7 @@ Required [cgroup] controllers:
125109
Optional cgroup controllers:
126110

127111
- hugetlb ([kubernetes/kubeadm#2335 (comment)](https://github.com/kubernetes/kubeadm/issues/2335#issuecomment-722405527))
128-
- blkio ([kubernetes/kubernetes#92287 (comment)](https://github.com/kubernetes/kubernetes/issues/92287#issuecomment-1010723587))
112+
- blkio ([kubernetes/kubernetes#92287 (comment)](https://github.com/kubernetes/kubernetes/issues/92287#issuecomment-1010723587))
129113
containerd and cri-o will use blkio to track disk I/O and throttling in both
130114
cgroup v1 and v2.
131115

docs/raspberry-pi4.md

-7
Original file line numberDiff line numberDiff line change
@@ -174,13 +174,6 @@ Operating system: Linux (pass)
174174
cgroup controller "hugetlb": available (pass)
175175
cgroup controller "blkio": available (via io in version 2) (pass)
176176
CONFIG_CGROUPS: Control Group support: built-in (pass)
177-
CONFIG_CGROUP_FREEZER: Freezer cgroup subsystem: built-in (pass)
178-
CONFIG_CGROUP_PIDS: PIDs cgroup subsystem: built-in (pass)
179-
CONFIG_CGROUP_DEVICE: Device controller for cgroups: built-in (pass)
180-
CONFIG_CPUSETS: Cpuset support: built-in (pass)
181-
CONFIG_CGROUP_CPUACCT: Simple CPU accounting cgroup subsystem: built-in (pass)
182-
CONFIG_MEMCG: Memory Resource Controller for Control Groups: built-in (pass)
183-
CONFIG_CGROUP_HUGETLB: HugeTLB Resource Controller for Control Groups: built-in (pass)
184177
CONFIG_CGROUP_SCHED: Group CPU scheduler: built-in (pass)
185178
CONFIG_FAIR_GROUP_SCHED: Group scheduling for SCHED_OTHER: built-in (pass)
186179
CONFIG_CFS_BANDWIDTH: CPU bandwidth provisioning for FAIR_GROUP_SCHED: built-in (pass)

docs/raspberry-pi5.md

-7
Original file line numberDiff line numberDiff line change
@@ -121,13 +121,6 @@ setup, you can invoke `k0s sysinfo`:
121121
cgroup controller "hugetlb": unavailable (warning)
122122
cgroup controller "blkio": available (via io in version 2) (pass)
123123
CONFIG_CGROUPS: Control Group support: built-in (pass)
124-
CONFIG_CGROUP_FREEZER: Freezer cgroup subsystem: built-in (pass)
125-
CONFIG_CGROUP_PIDS: PIDs cgroup subsystem: built-in (pass)
126-
CONFIG_CGROUP_DEVICE: Device controller for cgroups: built-in (pass)
127-
CONFIG_CPUSETS: Cpuset support: built-in (pass)
128-
CONFIG_CGROUP_CPUACCT: Simple CPU accounting cgroup subsystem: built-in (pass)
129-
CONFIG_MEMCG: Memory Resource Controller for Control Groups: built-in (pass)
130-
CONFIG_CGROUP_HUGETLB: HugeTLB Resource Controller for Control Groups: unknown (warning)
131124
CONFIG_CGROUP_SCHED: Group CPU scheduler: built-in (pass)
132125
CONFIG_FAIR_GROUP_SCHED: Group scheduling for SCHED_OTHER: built-in (pass)
133126
CONFIG_CFS_BANDWIDTH: CPU bandwidth provisioning for FAIR_GROUP_SCHED: built-in (pass)

internal/pkg/sysinfo/host_linux.go

+2-9
Original file line numberDiff line numberDiff line change
@@ -59,22 +59,15 @@ func (s *K0sSysinfoSpec) addKernelConfigs(linux *linux.LinuxProbes) {
5959
// which is the first kernel release that supports all of those configs.
6060

6161
if s.WorkerRoleEnabled {
62-
cgroups := linux.RequireKernelConfig("CGROUPS", "Control Group support")
63-
cgroups.RequireKernelConfig("CGROUP_FREEZER", "Freezer cgroup subsystem")
64-
cgroups.RequireKernelConfig("CGROUP_PIDS", "PIDs cgroup subsystem")
65-
cgroups.RequireKernelConfig("CGROUP_DEVICE", "Device controller for cgroups")
66-
cgroups.RequireKernelConfig("CPUSETS", "Cpuset support")
67-
cgroups.RequireKernelConfig("CGROUP_CPUACCT", "Simple CPU accounting cgroup subsystem")
68-
cgroups.RequireKernelConfig("MEMCG", "Memory Resource Controller for Control Groups")
69-
cgroups.AssertKernelConfig("CGROUP_HUGETLB", "HugeTLB Resource Controller for Control Groups")
70-
cgSched := cgroups.RequireKernelConfig("CGROUP_SCHED", "Group CPU scheduler")
7162
// https://github.com/kubernetes/kubeadm/issues/2335#issuecomment-717996215
7263
// > For reference https://github.com/torvalds/linux/blob/v4.3/kernel/sched/core.c#L8511-L8533
7364
// >
7465
// > - CONFIG_FAIR_GROUP_SCHED should be set as required, since there is
7566
// > currently no way to disable using it in Kubernetes
7667
// > - CONFIG_CFS_BANDWIDTH should be set as optional, as long as
7768
// > --cpu-cfs-quota=false actually works when CONFIG_CFS_BANDWIDTH=n
69+
cgroups := linux.RequireKernelConfig("CGROUPS", "Control Group support")
70+
cgSched := cgroups.RequireKernelConfig("CGROUP_SCHED", "Group CPU scheduler")
7871
fairGroupSched := cgSched.RequireKernelConfig("FAIR_GROUP_SCHED", "Group scheduling for SCHED_OTHER")
7972
fairGroupSched.AssertKernelConfig("CFS_BANDWIDTH", "CPU bandwidth provisioning for FAIR_GROUP_SCHED")
8073
cgroups.AssertKernelConfig("BLK_CGROUP", "Block IO controller")

0 commit comments

Comments
 (0)