bieszczaders/kernel-cachyos-addons
Project ID: 79220
Description
Announcement 2024/06/16: Sched-ext schedulers support has been added to the stable branch kernels. Instructions can be found below.
Userspace KSM helper daemon.
The daemon goes through the list of userspace tasks (once per 5 seconds) and hints them to apply MADV_MERGEABLE to anonymous mappings for ksmd kthread to merge memory pages with the same content. Only long-living tasks are hinted (those that were launched more than 10 seconds ago).
This requires pmadv_ksm() syscall, which is available in pf-kernel.
Configuration
The daemon requires zero configuration.
Distribution and Contribution
Distributed under terms and conditions of GNU GPL v3 (only).
Developers:
- Oleksandr Natalenko oleksandr@natalenko.name
CachyOS branding
The special version for CachyOS also includes uksmdstats .
Contributors:
- Piotr Gorski piotrgorski@cachyos.org
- Damian N. nycko123@gmail.com
Installation Instructions
FEDORA WORKSTATION
sudo dnf copr enable bieszczaders/kernel-cachyos-addons
INSTALL REQUIRED PACKAGES
sudo dnf install libcap-ng libcap-ng-devel procps-ng procps-ng-devel
INSTALL UKSMD
sudo dnf install uksmd
ENABLE SERVICE
sudo systemctl enable --now uksmd.service
CHECKING THE CORRECT OPERATION OF THE UKSMD
uksmdstats
FEDORA SILVERBLUE
cd /etc/yum.repos.d/
sudo wget https://copr.fedorainfracloud.org/coprs/bieszczaders/kernel-cachyos-addons/repo/fedora-$(rpm -E %fedora)/bieszczaders-kernel-cachyos-addons-fedora-$(rpm -E %fedora).repo
INSTALL REQUIRED PACKAGES
sudo rpm-ostree install libcap-ng-devel procps-ng-devel
INSTALL UKSMD
sudo rpm-ostree install uksmd
sudo systemctl reboot
ENABLE SERVICE
sudo systemctl enable --now uksmd.service
CHECKING THE CORRECT OPERATION OF THE UKSMD
uksmdstats
Sched-ext schedulers
The stable branch kernels have support for sched-ext schedulers. In order to use them, you need to install the package, which contains the schedulers using the following instructions:
In order to install the package, run the following command:
FEDORA WORKSTATION
sudo dnf install scx-scheds
FEDORA SILVERBLUE
sudo rpm-ostree install scx-scheds
On Silverblue version 39 or 40 you will also have to upgrade the libbpf package to the latest version from our repo:
sudo rpm-ostree override replace --experimental --from repo=copr:copr.fedorainfracloud.org:bieszczaders:kernel-cachyos-addons libbpf
If you have previously run the above command and want to upgrade to Silverblue 41 or 42, you will need to reset the override of libbpf before the upgrade:
rpm-ostree override reset libbpf
In order to run a scheduler, you can run the executable for the specific scheduler, you want. For example scx_bpfland:
sudo scx_bpfland
If you want to use the systemd service, you can enable and run it, and it will also start, when the system boots:
sudo systemctl enable --now scx.service
The default scheduler is scx_bpfland, but you can change it in the configuration file, which is located under /etc/default/scx
Active Releases
The following unofficial repositories are provided as-is by owner of this project. Contact the owner directly for bugs or issues (IE: not bugzilla).
Release | Architectures | Repo Download |
---|---|---|
EPEL 10 | x86_64 (24)* | EPEL 10 (13 downloads) |
EPEL 9 | x86_64 (113)* | EPEL 9 (79 downloads) |
Fedora 39 | x86_64 (4755)* | Fedora 39 (2065 downloads) |
Fedora 40 | x86_64 (17788)* | Fedora 40 (5589 downloads) |
Fedora 41 | x86_64 (3172)* | Fedora 41 (1043 downloads) |
Fedora rawhide | x86_64 (852)* | Fedora rawhide (190 downloads) |
* Total number of downloaded packages.
External Repository List
The following repositories are accessible during builds