Message ID | 20240910-fix-riscv-rt_group_sched-v3-4-486e75e5ae6d@gmail.com |
---|---|
State | New |
Headers | show |
Series | defconfig: drop RT_GROUP_SCHED=y | expand |
On Tue, Sep 10, 2024 at 08:51:10PM +0800, Celeste Liu wrote: > Commit 673ce00c5d6c ("ARM: omap2plus_defconfig: Add support for distros > with systemd") said it's because of recommendation from systemd. But > systemd changed their recommendation later.[1] > > 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.[2] > > 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. > > [1]: https://github.com/systemd/systemd/commit/f4e74be1856b3ac058acbf1be321c31d5299f69f > [2]: https://bugzilla.redhat.com/show_bug.cgi?id=1229700 > > Tested-by: Stefan Wahren <wahrenst@gmx.net> > Acked-by: Kevin Hilman <khilman@baylibre.com> > Signed-off-by: Celeste Liu <CoelacanthusHex@gmail.com> > --- > arch/arm/configs/bcm2835_defconfig | 1 - > arch/arm/configs/omap2plus_defconfig | 1 - > arch/arm/configs/tegra_defconfig | 1 - > 3 files changed, 3 deletions(-) Any idea who will want to pick this up? Probably something the ARM SoC maintainers can do directly, in which case: Acked-by: Thierry Reding <treding@nvidia.com>
diff --git a/arch/arm/configs/bcm2835_defconfig b/arch/arm/configs/bcm2835_defconfig index b5f0bd8dd536990a0726e73a6855d25c1286a768..27dc3bf6b124c2012b7a1a768f2f900f49903cd1 100644 --- a/arch/arm/configs/bcm2835_defconfig +++ b/arch/arm/configs/bcm2835_defconfig @@ -7,7 +7,6 @@ CONFIG_BSD_PROCESS_ACCT=y CONFIG_BSD_PROCESS_ACCT_V3=y CONFIG_LOG_BUF_SHIFT=18 CONFIG_CFS_BANDWIDTH=y -CONFIG_RT_GROUP_SCHED=y CONFIG_CGROUP_FREEZER=y CONFIG_CPUSETS=y CONFIG_CGROUP_DEVICE=y diff --git a/arch/arm/configs/omap2plus_defconfig b/arch/arm/configs/omap2plus_defconfig index 3a166c2f02bd80634fee3bd8c4579fdbad84ccfa..9cb265c8d4144ea9a41f02640dbc8a06b710323b 100644 --- a/arch/arm/configs/omap2plus_defconfig +++ b/arch/arm/configs/omap2plus_defconfig @@ -13,7 +13,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_CPUSETS=y CONFIG_CGROUP_DEVICE=y diff --git a/arch/arm/configs/tegra_defconfig b/arch/arm/configs/tegra_defconfig index d2a094ad360cefefbc3bd35226c5d23eadce42c1..3a9bda2bf422b14085c60b39a2c3df86fe0994bb 100644 --- a/arch/arm/configs/tegra_defconfig +++ b/arch/arm/configs/tegra_defconfig @@ -6,7 +6,6 @@ CONFIG_IKCONFIG=y CONFIG_IKCONFIG_PROC=y CONFIG_CGROUPS=y CONFIG_CGROUP_SCHED=y -CONFIG_RT_GROUP_SCHED=y CONFIG_CGROUP_FREEZER=y CONFIG_CGROUP_CPUACCT=y CONFIG_CGROUP_DEBUG=y