The Linux Kernel can be modified to use custom job scheduling strategies that can enhance job performance. This article describes how to do this on Fedora GNU/Linux. It describes work that is currently under consideration for incorporation in the mainline linux kernel.
Installation steps on Fedora Rawhide (39), tested on x86_64 with 8 cores and 16Gb of ram:
sudo dnf update # Get dependencies sudo dnf install fedpkg fedora-packager rpmdevtools ncurses-devel pesign \ grubby rust cargo qt5-qtbase-devel libXi-devel gcc-c++ clang llvm lldb \ bison flex git-core coreutils make elfutils zlib-devel binutils-devel \ numactl-devel gettext ncurses-devel libcap-ng-devel libcap-devel \ openssl-devel nss-tools rust cargo libelf-devel elfutils-devel bc dwarves wget \ llvm-devel lldb-devel clang-devel # get and build static libclang which is not available in Fedora repositories wget https://github.com/llvm/llvm-project/archive/refs/tags/llvmorg-15.0.7.tar.gz tar -xf llvmorg-15.0.7.tar.gz cd llvm-project-llvmorg-15.0.7/clang mkdir build cd build cmake .. -DLIBCLANG_BUILD_STATIC=ON make sudo make install cd ../../.. git clone https://github.com/htejun/sched_ext --depth=1 cd sched_ext cp -v /boot/config-$(uname -r) .config echo "CONFIG_SCHED_CLASS_EXT=y" >> .config make -j16 all # take a break sudo make -j16 modules_install sudo make -j16 install sudo reboot # login again cd sched_ext/tools/sched_ext make -j16 # Raise RLIMIT_MEMLOCK to avoid using sudo sudo ./scx_example_simple
Todo
https://discussion.fedoraproject.org/t/performance-improvements-using-custom-kernel-schedulers/79952
Issue tagged with: article
Metadata Update from @rlengland: - Issue assigned to fed500 - Issue tagged with: needs-image
@fed500 Have you had an opportunity to work on this article? We are lookiing forward to seeing it.
Will take a few weeks to finish up. Expect after f38 release.
@fed500 Have you had an opportunity spend any time on this article? We could use your contribution since we are in a dry spell for new articles, right now.
Thanks for the reminder. Will work on it later this week.
@fed500 Is this still on your "to-do" list or should we move it to the "stalled" category?
Still on to-do list. Sorry for the delay.
@fed500 I am moving this article to the "Stalled" category. It will still be here when you have time to work on it but we won't nag you about it. 😄 This will also reduce the number of pending articles we need to review.
Let us know when you have some thing read for us to review.
Log in to comment on this ticket.