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.
Login to comment on this ticket.