Bugzilla – Bug 1215663
# CONFIG_SCHED_AUTOGROUP is not set causes Fossilize INFO: Autogroup scheduling is not enabled on this kernel. Will rely entirely on nice().
Last modified: 2024-05-02 23:54:10 UTC
Hi, I tried to play over Steam on OpenSUSE Tumbleweed and the terminal reported the following error: Fossilize INFO: Autogroup scheduling is not enabled on this kernel. Will rely entirely on nice(). Autogroup scheduling needs to be enabled during kernel compilation. I checked that on https://github.com/SUSE/kernel-source/blob/15b4ad8fb5f18870bb9e4011a2bb53cbaefe8037/config/x86_64/default#L237 I can see # CONFIG_SCHED_AUTOGROUP is not set, that's the origin of the issue. So many distros enable that by default and I've never seen this issue with Steam on distros where is set CONFIG_SCHED_AUTOGROUP=y Examples: Arch Linux: https://gitlab.archlinux.org/archlinux/packaging/packages/linux/-/blob/main/config?ref_type=heads#L246 CachyOS: https://github.com/CachyOS/linux-cachyos/blob/1d74c2037cd78f292fb6606708fa86ef14e02bd7/linux-cachyos/config#L251C31-L252C23 Could I ask to change that? Change config, build a kernel with CONFIG_SCHED_AUTOGROUP=y, and make the OpenSUSE kernel and the whole distro more friendly to gaming through Steam.
FWIW, SCHED_AUTOGROUP was enabled in -desktop flavors already by: commit 2d5d397022c311c2babb71b1220619a9f6c54139 Author: Jeff Mahoney <jeffm@suse.com> Date: Wed Nov 17 11:10:32 2010 -0500 - sched: automated per tty task groups. - Enabled in -desktop flavors for better interactivity. until we dropped the flavor in: commit 1fcdac3f3d277ffea3462af635a3dea6b854a09a Author: Michal Marek <mmarek@suse.cz> Date: Fri Sep 25 22:42:00 2015 +0200 Merge kernel-desktop back into kernel-default/kernel-pae (fate#319416) The Kconfig entry says: config SCHED_AUTOGROUP bool "Automatic process group scheduling" select CGROUPS select CGROUP_SCHED select FAIR_GROUP_SCHED help This option optimizes the scheduler for common desktop workloads by automatically creating and populating task groups. This separation of workloads isolates aggressive CPU burners (like build jobs) from desktop applications. Task group autogeneration is currently based upon task session.
Building the kernel with CONFIG_SCHED_AUTOGROUP=y might be a good idea for desktop use. See TuneD desktop profile: https://github.com/redhat-performance/tuned/blob/master/profiles/desktop/tuned.conf Without this kernel feature, TuneD desktop profile would be useless.
Looking at the code, the feature seems to be dynamically controllable via sysctl. It might make sense to enable the kconfig while setting the default to off and let user enabling it via sysctl (maybe along with some other tunable knobs for desktops)?
(In reply to Vědomil Vildomec from comment #0) > Could I ask to change that? Change config, build a kernel with > CONFIG_SCHED_AUTOGROUP=y, and make the OpenSUSE kernel and the whole distro > more friendly to gaming through Steam. I'd suggest digging deeper for possible causes of the issue. Can you quantify the friendliness in comparison with basic enablement of CPU controller? [1] Or roughly describe what's the expected behavior? Would autogroup be needed nowadays at all? SCHED_AUTOGROUP was poorly justified feature (already in 2010) that can be realized purely in userspace by creating respective groups manually (or implicitly e.g. via PAM as would happen with pam_systemd when CPU controller is enabled). Don't let me start on combination of autogroups and regular groups (consider containers) in one system. I admit, I'm not a fan of enabling this config today. [1] E.g. override /usr/lib/systemd/system/user@.service.d/20-defaults-SUSE.conf with > cat >/etc/systemd/system/user@.service.d/60-cpu-delegation.conf <<EOD > [Service] > Delegate=cpu > EOD