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:

CachyOS branding

The special version for CachyOS also includes uksmdstats .

Contributors:

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 sched-ext-scx

FEDORA SILVERBLUE

sudo rpm-ostree install sched-ext-scx

On Silverblue 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

In order to run a scheduler, you can run the executable for the specific scheduler, you want. For example scx_rusty:

sudo scx_rusty

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_rusty, 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 9 x86_64 (3)* EPEL 9 (22 downloads)
Fedora 38 x86_64 (4546)* Fedora 38 (0 downloads)
Fedora 39 x86_64 (3740)* Fedora 39 (1896 downloads)
Fedora 40 x86_64 (2025)* Fedora 40 (1145 downloads)
Fedora rawhide x86_64 (379)* Fedora rawhide (130 downloads)

* Total number of downloaded packages.

External Repository List

The following repositories are accessible during builds