Message ID | 20240910-fix-riscv-rt_group_sched-v3-1-486e75e5ae6d@gmail.com |
---|---|
State | New |
Headers | show |
Series | defconfig: drop RT_GROUP_SCHED=y | expand |
On Tue, Sep 10, 2024 at 08:51:07PM +0800, Celeste Liu wrote: > Commit ba6cfef057e1 ("riscv: enable Docker requirements in defconfig") > introduced it because of Docker, but Docker has removed this requirement > since [1] (2023-04-19). > > 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.[3] > > [1]: https://github.com/moby/moby/commit/005150ed69c540fb0b5323e0f2208608c1204536 > [2]: https://bugzilla.redhat.com/show_bug.cgi?id=1229700 > [3]: https://github.com/systemd/systemd/issues/13781#issuecomment-549164383 > > Acked-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> > Signed-off-by: Celeste Liu <CoelacanthusHex@gmail.com> Acked-by: Charlie Jenkins <charlie@rivosinc.com> > --- > arch/riscv/configs/defconfig | 1 - > 1 file changed, 1 deletion(-) > > diff --git a/arch/riscv/configs/defconfig b/arch/riscv/configs/defconfig > index 12dc8c73a8acfaa5c8f442968a807de303428d9e..de85c3ab261e6d62b2089a3c89bdc9d1b34fa792 100644 > --- a/arch/riscv/configs/defconfig > +++ b/arch/riscv/configs/defconfig > @@ -9,7 +9,6 @@ CONFIG_CGROUPS=y > CONFIG_MEMCG=y > CONFIG_CGROUP_SCHED=y > CONFIG_CFS_BANDWIDTH=y > -CONFIG_RT_GROUP_SCHED=y > CONFIG_CGROUP_PIDS=y > CONFIG_CGROUP_FREEZER=y > CONFIG_CGROUP_HUGETLB=y > > -- > 2.46.0 > > > _______________________________________________ > linux-riscv mailing list > linux-riscv@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-riscv
diff --git a/arch/riscv/configs/defconfig b/arch/riscv/configs/defconfig index 12dc8c73a8acfaa5c8f442968a807de303428d9e..de85c3ab261e6d62b2089a3c89bdc9d1b34fa792 100644 --- a/arch/riscv/configs/defconfig +++ b/arch/riscv/configs/defconfig @@ -9,7 +9,6 @@ CONFIG_CGROUPS=y CONFIG_MEMCG=y CONFIG_CGROUP_SCHED=y CONFIG_CFS_BANDWIDTH=y -CONFIG_RT_GROUP_SCHED=y CONFIG_CGROUP_PIDS=y CONFIG_CGROUP_FREEZER=y CONFIG_CGROUP_HUGETLB=y