Re: 5.18 missing /proc/sys/kernel/sched_autogroup_enabled?

From: Peter Zijlstra
Date: Mon May 30 2022 - 03:46:02 EST


On Sun, May 29, 2022 at 11:52:42PM +0000, Ivan Kozik wrote:
> Hello,
>
> I noticed that /proc/sys/kernel/sched_autogroup_enabled seems to have
> gone missing in 5.18. Am I doing something wrong, or is this a
> regression?
>
> I also noticed that booting 5.18 with "noautogroup" results in a
> "kernel: failed when register_sysctl sched_autogroup_sysctls to
> kernel" message. Because of the error and the missing
> /proc/sys/kernel/sched_autogroup_enabled, it is unclear whether
> autogroup is enabled or not.

*sigh*, I think this is yet another one of the sysctl move patches gone
bad :/ Specifically:

c8eaf6ac76f4 ("sched: move autogroup sysctls into its own file")

Does something like the below help?

---

diff --git a/kernel/sched/autogroup.c b/kernel/sched/autogroup.c
index 16092b49ff6a..4ebaf97f7bd8 100644
--- a/kernel/sched/autogroup.c
+++ b/kernel/sched/autogroup.c
@@ -36,6 +36,7 @@ void __init autogroup_init(struct task_struct *init_task)
kref_init(&autogroup_default.kref);
init_rwsem(&autogroup_default.lock);
init_task->signal->autogroup = &autogroup_default;
+ sched_autogroup_sysctl_init();
}

void autogroup_free(struct task_group *tg)
@@ -219,7 +220,6 @@ void sched_autogroup_exit(struct signal_struct *sig)
static int __init setup_autogroup(char *str)
{
sysctl_sched_autogroup_enabled = 0;
- sched_autogroup_sysctl_init();

return 1;
}