Message ID | 20240530111947.549474-11-CoelacanthusHex@gmail.com |
---|---|
State | New |
Headers | show |
Series | defconfig: drop RT_GROUP_SCHED=y | expand |
On Thu, May 30, 2024 at 07:19:51PM +0800, Celeste Liu wrote: > For cgroup v1, if turned on, and there's any cgroup in the "cpu" hierarchy it > needs an RT budget assigned, otherwise the processes in it will not be able to > get RT at all. The problem with RT group scheduling is that it requires the > budget assigned but there's no way we could assign a default budget, since the > values to assign are both upper and lower time limits, are absolute, and need to > be sum up to < 1 for each individal cgroup. That means we cannot really come up > with values that would work by default in the general case.[1] > > For cgroup v2, it's almost unusable as well. If it turned on, the cpu controller > can only be enabled when all RT processes are in the root cgroup. But it will > lose the benefits of cgroup v2 if all RT process were placed in the same cgroup. > > Red Hat, Gentoo, Arch Linux and Debian all disable it. systemd also doesn't > support it.[2] > > [1]: https://bugzilla.redhat.com/show_bug.cgi?id=1229700 > [2]: https://github.com/systemd/systemd/issues/13781#issuecomment-549164383 > > Signed-off-by: Celeste Liu <CoelacanthusHex@gmail.com> > --- > arch/mips/configs/db1xxx_defconfig | 1 - > arch/mips/configs/eyeq5_defconfig | 1 - > arch/mips/configs/generic_defconfig | 1 - > 3 files changed, 3 deletions(-) applied to mips-next. Thomas.
diff --git a/arch/mips/configs/db1xxx_defconfig b/arch/mips/configs/db1xxx_defconfig index b2d9253ff786..6eff21ff15d5 100644 --- a/arch/mips/configs/db1xxx_defconfig +++ b/arch/mips/configs/db1xxx_defconfig @@ -12,7 +12,6 @@ CONFIG_MEMCG=y CONFIG_BLK_CGROUP=y CONFIG_CGROUP_SCHED=y CONFIG_CFS_BANDWIDTH=y -CONFIG_RT_GROUP_SCHED=y CONFIG_CGROUP_FREEZER=y CONFIG_CGROUP_DEVICE=y CONFIG_CGROUP_CPUACCT=y diff --git a/arch/mips/configs/eyeq5_defconfig b/arch/mips/configs/eyeq5_defconfig index c35c29a4d479..3794707c9522 100644 --- a/arch/mips/configs/eyeq5_defconfig +++ b/arch/mips/configs/eyeq5_defconfig @@ -8,7 +8,6 @@ CONFIG_IKCONFIG_PROC=y CONFIG_MEMCG=y CONFIG_BLK_CGROUP=y CONFIG_CFS_BANDWIDTH=y -CONFIG_RT_GROUP_SCHED=y CONFIG_CGROUP_PIDS=y CONFIG_CGROUP_FREEZER=y CONFIG_CPUSETS=y diff --git a/arch/mips/configs/generic_defconfig b/arch/mips/configs/generic_defconfig index 071e2205c7ed..fa916407bdd4 100644 --- a/arch/mips/configs/generic_defconfig +++ b/arch/mips/configs/generic_defconfig @@ -5,7 +5,6 @@ CONFIG_IKCONFIG_PROC=y CONFIG_MEMCG=y CONFIG_BLK_CGROUP=y CONFIG_CFS_BANDWIDTH=y -CONFIG_RT_GROUP_SCHED=y CONFIG_CGROUP_PIDS=y CONFIG_CGROUP_FREEZER=y CONFIG_CPUSETS=y
For cgroup v1, if turned on, and there's any cgroup in the "cpu" hierarchy it needs an RT budget assigned, otherwise the processes in it will not be able to get RT at all. The problem with RT group scheduling is that it requires the budget assigned but there's no way we could assign a default budget, since the values to assign are both upper and lower time limits, are absolute, and need to be sum up to < 1 for each individal cgroup. That means we cannot really come up with values that would work by default in the general case.[1] For cgroup v2, it's almost unusable as well. If it turned on, the cpu controller can only be enabled when all RT processes are in the root cgroup. But it will lose the benefits of cgroup v2 if all RT process were placed in the same cgroup. Red Hat, Gentoo, Arch Linux and Debian all disable it. systemd also doesn't support it.[2] [1]: https://bugzilla.redhat.com/show_bug.cgi?id=1229700 [2]: https://github.com/systemd/systemd/issues/13781#issuecomment-549164383 Signed-off-by: Celeste Liu <CoelacanthusHex@gmail.com> --- arch/mips/configs/db1xxx_defconfig | 1 - arch/mips/configs/eyeq5_defconfig | 1 - arch/mips/configs/generic_defconfig | 1 - 3 files changed, 3 deletions(-)