Установка ядра XanMod в Debian
Приветствую! В этой небольшой заметке приведу команду, при помощи которой можно добавить репозиторий ядра XanMod в Debian.
Ядро XanMod имеет ряд патчей и оптимизаций. Список изменений по сравнению с ванильным ядром, я взял с официального сайта :
- Caching, Virtual Memory Manager and CPUFreq Governor improvements.
- Full multi-core block layer runqueue requests for high I/O throughput.
- BBRv2 TCP congestion control + FQ-PIE packet scheduling and AQM algorithm.
- ORC Unwinder for kernel stack traces (debuginfo) implementation.
- High responsiveness multitasking Task Type scheduler (SCHED_NORMAL) build available [5.15-tt].
- Real-time Linux kernel (PREEMPT_RT) build available [5.15-rt] [5.10-rt].
- Third-party patchset available: patches
- le9’s file mappings under memory pressure protection.
- Linux Random Number Generator (LRNG) framework.
- TCP performance optimizations backport from linux/net-next [5.16] [5.15].
- AMD’s P-state driver for Zen2 and Zen3 processors [5.16] [5.15].
- Futex waitv and legacy WAIT_MULTIPLE implementation for Wine / Proton Fsync support.
- WineSync driver for fast kernel-backed Wine [5.16] [5.15] [as module: winesync].
- Google’s Multigenerational LRU framework [5.16] [5.15].
- Google’s BBRv2 TCP congestion control.
- Paragon’s Software NTFS3 driver [as module: ntfs3].
- PCIe ACS Override for bypassing IOMMU groups support.
- Graysky’s additional CPU optimizations for GCC and Clang.
- Clear Linux patchset [partial].
- Android Ashmem and Binder IPC driver as module for Anbox.
- Updated ZSTD library for bug fixes and r/w performance compression improvements on Btrfs, F2FS, SquashFS, pstore, initramfs and vmlinuz.
- Generic packages for compatibility with most Debian & Ubuntu based distributions. Builts on the latest LLVM 12.0.1, GCC 11.2 and Binutils 2.37.
- GPLv2 license. Can be built for any distribution or purpose.
Стоит заметить, что ядро XanMod не единственное, которое интегрирует в себя оптимизации. Есть ещё ядро Liquorix , которое занимается практически тем же самым. Но, посмотрев обзор и тесты на Phoronix’е, я сделал выбор в пользу XanMod.
Однострочная команда по добавлению ядра XanMod в репозиторий Debian’а приведена ниже. Она дробится на следующие под-команды:
- Добавление файла
xanmod-kernel.list
в директорию/etc/apt/sources.list.d
. - Скачивание файла подписи
gpg.key
и размещение его в директорию/etc/apt/trusted.gpg.d
с названиемxanmod-kernel.gpg
. - Обновление информации из репозитория при помощи команды
apt update
.
echo 'deb http://deb.xanmod.org releases main' | tee /etc/apt/sources.list.d/xanmod-kernel.list && curl -fsSL 'https://dl.xanmod.org/gpg.key' | gpg --dearmor | tee /etc/apt/trusted.gpg.d/xanmod-kernel.gpg > /dev/null && apt update
После выполнения команды, установка ядра XanMod происходит таким образом:
apt install linux-xanmod
Для установки Mainline-версии ядра команда будет такой:
apt install linux-xanmod-edge
FQ-PIE
Для включения планировщика пакетов FQ-PIE, необходимо выполнить команду:
echo 'net.core.default_qdisc = fq_pie' | tee /etc/sysctl.d/90-override.conf
Проверка:
tc qdisc show
Источники: