Message ID | 20250115-fix-riscv-rt_group_sched-v4-4-607606fe73a5@coelacanthus.name |
---|---|
State | New |
Headers | show |
Series | defconfig: drop RT_GROUP_SCHED=y | expand |
On 1/14/25 12:41, 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> > Acked-by: Thierry Reding <treding@nvidia.com> > Signed-off-by: Celeste Liu <uwu@coelacanthus.name> > --- > arch/arm/configs/bcm2835_defconfig | 1 - Acked-by: Florian Fainelli <florian.fainelli@broadcom.com> # bcm2835_defconfig
On Wed, Jan 15, 2025 at 04:41:23AM +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> > Acked-by: Thierry Reding <treding@nvidia.com> > Signed-off-by: Celeste Liu <uwu@coelacanthus.name> > --- > arch/arm/configs/bcm2835_defconfig | 1 - > arch/arm/configs/omap2plus_defconfig | 1 - > arch/arm/configs/tegra_defconfig | 1 - > 3 files changed, 3 deletions(-) Hi Arnd, is this something that you could pick up? I think so far only the RISC-V patch was picked up, but nobody seems to feel responsible for the ARM patch here. Thierry
On Fri, Mar 7, 2025 at 3:19 AM Thierry Reding <thierry.reding@gmail.com> wrote: > > On Wed, Jan 15, 2025 at 04:41:23AM +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> > > Acked-by: Thierry Reding <treding@nvidia.com> > > Signed-off-by: Celeste Liu <uwu@coelacanthus.name> > > --- > > arch/arm/configs/bcm2835_defconfig | 1 - > > arch/arm/configs/omap2plus_defconfig | 1 - > > arch/arm/configs/tegra_defconfig | 1 - > > 3 files changed, 3 deletions(-) > > Hi Arnd, > > is this something that you could pick up? I think so far only the RISC-V > patch was picked up, but nobody seems to feel responsible for the ARM > patch here. I will take the LoongArch patch, but may be squashed to another one about config file update. Huacai > > Thierry
On Thu, Mar 6, 2025, at 20:19, Thierry Reding wrote: > On Wed, Jan 15, 2025 at 04:41:23AM +0800, Celeste Liu wrote: >> --- >> arch/arm/configs/bcm2835_defconfig | 1 - >> arch/arm/configs/omap2plus_defconfig | 1 - >> arch/arm/configs/tegra_defconfig | 1 - >> 3 files changed, 3 deletions(-) > > Hi Arnd, > > is this something that you could pick up? I think so far only the RISC-V > patch was picked up, but nobody seems to feel responsible for the ARM > patch here. I've merged it now after going through stuff in my inbox. It's generally ok for patches like this one to be forwarded to soc@lists.linux.dev where they end up in patchwork for me to apply, in case you don't want it to get lost. Arnd
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