Сулит эта штука 10 процентов ускорения: https://www.securitylab.ru/news/567609.php, https://docs.kernel.org/dev-tools/propeller.html
Попробовал я его уже на протяжении нескольких версий ядра - полёт нормальный. Измерений производительности не проводил, но работает стабильно.
Для Дебиан (и видимо его производных) делается это так:
1. Накладываются патчи. Допустим:
Код: Выделить всё
./spkpatch.shКод: Выделить всё
make xconfigКод: Выделить всё
make LLVM=-21 bindeb-pkgКод: Выделить всё
Link Time Optimization (LTO)
> 1. None (LTO_NONE)
2. Clang Full LTO (EXPERIMENTAL) (LTO_CLANG_FULL) (NEW)
3. Clang ThinLTO (EXPERIMENTAL) (LTO_CLANG_THIN) (NEW)
choice[1-3?]: 2Код: Выделить всё
Enable Clang's AutoFDO build (EXPERIMENTAL) (AUTOFDO_CLANG) [N/y/?] (NEW) yКод: Выделить всё
Enable Clang's Propeller build (PROPELLER_CLANG) [N/y/?] (NEW) yКод: Выделить всё
Use Kernel Control Flow Integrity (kCFI) (CFI) [N/y/?] (NEW) nКод: Выделить всё
CONFIG_LTO=y
CONFIG_LTO_CLANG=y
CONFIG_ARCH_SUPPORTS_LTO_CLANG=y
CONFIG_ARCH_SUPPORTS_LTO_CLANG_THIN=y
CONFIG_HAS_LTO_CLANG=y
# CONFIG_LTO_NONE is not set
CONFIG_LTO_CLANG_FULL=y
# CONFIG_LTO_CLANG_THIN is not set
CONFIG_ARCH_SUPPORTS_AUTOFDO_CLANG=y
CONFIG_AUTOFDO_CLANG=y
CONFIG_ARCH_SUPPORTS_PROPELLER_CLANG=y
CONFIG_PROPELLER_CLANG=y
CONFIG_ARCH_SUPPORTS_CFI=y
В результате появятся пакеты ядра, их можно установить например так:
Код: Выделить всё
#!/bin/bash
PATH=$PATH:/usr/local/sbin:/usr/sbin:/sbin dpkg -i linux*6.19.5*.deb