2022-05-30 13:45:11

by Ivan Kozik

[permalink] [raw]
Subject: 5.18 missing /proc/sys/kernel/sched_autogroup_enabled?

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


2022-05-31 13:21:43

by Peter Zijlstra

[permalink] [raw]
Subject: Re: 5.18 missing /proc/sys/kernel/sched_autogroup_enabled?

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;
}

2022-06-01 13:53:24

by Ivan Kozik

[permalink] [raw]
Subject: Re: 5.18 missing /proc/sys/kernel/sched_autogroup_enabled?

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