The default CPU scheduler of "Noir Linux Kernel" is CFS,the default I/O scheduler of this kernel is Kyber.
Noir Linux Kernelは、64ビットUbuntu向けのLinuxカーネルです。このカスタムカーネルは、いくつかの役に立つパッチ(Zen Interactive Tuneなど)を適用しました。Noir Linux Kernelは、リアルタイム性能とレスポンス性能を向上させます。
Noir Linux KernelのデフォルトのCPUスケジューラーはCFS、デフォルトのI/OスケジューラーはKyberです。
[Download Noir Linux Kernel(binary,source code,patch)]
https://github.com/takabrk/noir_linux_kernel/releases (custom kernel download)
https://github.com/takabrk/noir_linux_kernel (kernel build script)
[Change point]
- Updated to Linux 6.1.8 patchsets
[based kernel source]
- Linux kernel 6.1( https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-6.1.tar.xz )
[Optimized kernel configuration]
- Built on the GCC 12.1.0
- CPU scheduler -> CFS
- Default I/O scheduler -> Kyber
- Processor family -> Generic X86_64
- Kernel Compression mode -> zstd
- Preemption Model -> Preemptible Kernel(lowlatency desktop)
- CPU Timer frequency -> 750Hz
- RCU boost delay -> 339
- Timer tick handling -> Full dynticks system
- Default CPUFreq Governor -> schedutil
- CPU idle governor -> TEO
- vm_swappiness = 30
- VM_READAHEAD_PAGES=8MB
- dcache-cache_pressure=50
- PCIe ACS support
- OpenRGB support
- Zen Interactive Tune support
- Core scheduling for SMT ON
- Clear Linux support
- WineSync support
- BBR2 support
- zswap support
- AMD p-state support
[Applied patches]
- linux update patch( https://www.kernel.org/ )
- Zen( https://github.com/zen-kernel/zen-kernel/tree/5.15/master )- PREEMPT RT( https://mirrors.edge.kernel.org/pub/linux/kernel/projects/rt/ )
- https://github.com/sirlucjan/kernel-patches
- https://github.com/Frogging-Family/linux-tkg/tree/master/linux-tkg-patches
◇インストール方法
Gitのリリースページで公開しているバイナリをダウンロードしてインストールする場合は以下のコマンドを使います。
$ sudo dpkg -i *.deb
◇システムのパフォーマンスアップ
$ ./performanceup.sh
◇カスタムカーネルのビルド
Noir Linux Kernelパッチの組み立て
$ ./build.sh -e patch
バニラカーネルのダウンロードとパッチ当て
$ ./build.sh -e source
前述を行った後にカスタムカーネルのビルドとインストール
$ ./build.sh -e build
◇ダウンロード方法
GitHubのリリースページにある「Source Code」と書かれている部分をクリックすると、バニラカーネルソースコード用のパッチ・各種スクリプト一式をまとめた圧縮ファイルをダウンロード出来ます。また、バイナリも公開しています。

◇I/Oスケジューラー確認方法
現在使っているI/Oスケジューラーの確認方法は、端末で以下のコマンドを実行する事で出来ます。
$ cat /sys/block/sd*/queue/scheduler
I/Oスケジューラーを変更するには、以下のコマンドを実行します。
# echo 変更したいスケジューラー > /sys/block/sda/queue/scheduler
設定を永続化するには、起動時に「elevator=変更したいスケジューラー」を付けます。
[Full tickless]
1.Edited /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="nohz_full=1"
2.Make grub config
$ sudo grub-mkconfig -o /boot/grub/grub.cfg
3.reboot system
[セキュアブートについて]
以下の記事を参照すると良いでしょう。
Signing a custom kernel for Secure Boot
https://github.com/jakeday/linux-surface/blob/3267e4ea1f318bb9716d6742d79162de8277dea2/SIGNING.md