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.
Please see below for my testing. These kernels came from
https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.18/ but I saw the
same thing with a 5.18.0 on NixOS.
Best regards,
Ivan
5.17, default:
at@ubuntu2204:~$ uname -a
Linux ubuntu2204 5.17.11-051711-generic #202205251331 SMP PREEMPT Wed
May 25 13:57:33 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
at@ubuntu2204:~$ journalctl -b | grep -i autogroup
at@ubuntu2204:~$ cat /proc/sys/kernel/sched_autogroup_enabled
1
5.17, noautogroup:
at@ubuntu2204:~$ uname -a
Linux ubuntu2204 5.17.11-051711-generic #202205251331 SMP PREEMPT Wed
May 25 13:57:33 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
at@ubuntu2204:~$ journalctl -b | grep -i autogroup
May 29 15:58:17 ubuntu2204 kernel: Command line:
BOOT_IMAGE=/boot/vmlinuz-5.17.11-051711-generic
root=UUID=20672a55-02fc-49b3-8c04-bd040f068096 ro
find_preseed=/preseed.cfg auto noprompt priority=critical locale=en_US
quiet splash noautogroup
May 29 15:58:17 ubuntu2204 kernel: Kernel command line:
BOOT_IMAGE=/boot/vmlinuz-5.17.11-051711-generic
root=UUID=20672a55-02fc-49b3-8c04-bd040f068096 ro
find_preseed=/preseed.cfg auto noprompt priority=critical locale=en_US
quiet splash noautogroup
at@ubuntu2204:~$ cat /proc/sys/kernel/sched_autogroup_enabled
0
5.18, default:
at@ubuntu2204:~$ uname -a
Linux ubuntu2204 5.18.0-051800-generic #202205222030 SMP
PREEMPT_DYNAMIC Sun May 22 20:33:46 UTC 2022 x86_64 x86_64 x86_64
GNU/Linux
at@ubuntu2204:~$ journalctl -b | grep -i autogroup
at@ubuntu2204:~$ cat /proc/sys/kernel/sched_autogroup_enabled
cat: /proc/sys/kernel/sched_autogroup_enabled: No such file or directory
root@ubuntu2204:~# sysctl -a | grep -i autogroup
5.18, noautogroup:
at@ubuntu2204:~$ uname -a
Linux ubuntu2204 5.18.0-051800-generic #202205222030 SMP
PREEMPT_DYNAMIC Sun May 22 20:33:46 UTC 2022 x86_64 x86_64 x86_64
GNU/Linux
at@ubuntu2204:~$ journalctl -b | grep -i autogroup
May 29 15:53:17 ubuntu2204 kernel: Command line:
BOOT_IMAGE=/boot/vmlinuz-5.18.0-051800-generic
root=UUID=20672a55-02fc-49b3-8c04-bd040f068096 ro
find_preseed=/preseed.cfg auto noprompt priority=critical locale=en_US
quiet splash noautogroup
May 29 15:53:17 ubuntu2204 kernel: Kernel command line:
BOOT_IMAGE=/boot/vmlinuz-5.18.0-051800-generic
root=UUID=20672a55-02fc-49b3-8c04-bd040f068096 ro
find_preseed=/preseed.cfg auto noprompt priority=critical locale=en_US
quiet splash noautogroup
May 29 15:53:17 ubuntu2204 kernel: failed when register_sysctl
sched_autogroup_sysctls to kernel
at@ubuntu2204:~$ cat /proc/sys/kernel/sched_autogroup_enabled
cat: /proc/sys/kernel/sched_autogroup_enabled: No such file or directory
root@ubuntu2204:~# cat /boot/config-5.1[78]* | grep -i config_sysctl=
CONFIG_SYSCTL=y
CONFIG_SYSCTL=y
root@ubuntu2204:~# cat /boot/config-5.1[78]* | grep -i autogroup
CONFIG_SCHED_AUTOGROUP=y
CONFIG_SCHED_AUTOGROUP=y
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;
}
On Mon, May 30, 2022 at 7:45 AM Peter Zijlstra <[email protected]> wrote:
> *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?
Hi Peter,
Yes, your patch does fix both the missing
/proc/sys/kernel/sched_autogroup_enabled and the error when using
noautogroup.
Thank you,
Ivan