| Flag |
Description |
Packages |
| aufs |
Enable the AUFS union filesystem as a module |
2 |
| autofdo |
Enable Clang AutoFDO (Automatic Feedback-Directed Optimization) support for profile-guided optimization |
2 |
| bbr3 |
Enable TCP BBR3 (Bottleneck Bandwidth and RTT) congestion control algorithm as default |
2 |
| bmq |
Project C BMQ (BitMap Queue) scheduler, alternative CPU scheduler with different performance characteristics |
3 |
| bmq-lfbmq |
PRJC BMQ scheduler with the LFBMQ (lock-free bitmap queue) runqueue variant from kernel-patches |
2 |
| bore |
BORE (Burst-Oriented Response Enhancer) scheduler variant |
3 |
| debug |
Enable debug-friendly optimizations and disable various debug features |
3 |
| deckify |
Apply the CachyOS handheld configuration and patches with the BORE scheduler |
2 |
| eevdf |
Linux EEVDF scheduler; retains the upstream config default for the CachyOS POC idle CPU selector (where available) |
3 |
| kcfi |
Enable kCFI (Kernel Control Flow Integrity) for additional security protection (requires clang) |
2 |
| kernel-builtin-zfs |
Stage pinned ZFS sources and a manual build helper; does not build or install ZFS modules |
2 |
| llvm-lto-full |
Enable LLVM full LTO |
2 |
| llvm-lto-none |
Disable LLVM link-time optimization |
2 |
| llvm-lto-thin |
Enable LLVM thin LTO (Link Time Optimization) - uses multiple threads, faster compilation, less memory usage |
2 |
| llvm-lto-thin-dist |
Enable LLVM thin LTO with distributed model rather than in-process linking |
2 |
| mgeneric |
Use generic x86-64 optimizations (default kernel optimizations, portable across machines) |
2 |
| mnative |
Use compiler native CPU autodetection optimizations (recommended for local builds, not portable) |
2 |
| muqss |
MuQSS scheduler (official standalone CK port on 7.3; CachyOS kernel-patches on older releases) |
2 |
| mzen4 |
Use AMD Zen 4 specific optimizations (znver4) for AMD Ryzen 7000 series and newer |
2 |
| o3 |
Enable KBUILD_CFLAGS -O3 optimization for maximum performance |
2 |
| os |
Optimize for size (-Os) instead of performance |
2 |
| pds |
Project C Priority and Deadline based Skip list scheduler |
2 |
| per-gov |
Set CPU frequency performance governor as default instead of schedutil |
2 |
| propeller |
Enable Clang Propeller optimization (basic block reordering) for better performance |
2 |
| rt |
EEVDF scheduler with realtime patches for low-latency applications |
2 |
| rt-bore |
BORE scheduler with realtime patches for low-latency applications |
3 |
| server |
Disable CONFIG_CACHY kernel tweaks; scheduler and tuning options remain independently selectable |
3 |
| Flag |
Description |
| ${LLVM_REQUIRED_USE} |
|
| clang |
Build the kernel using Clang/LLVM toolchain instead of GCC (required for LTO, KCFI and Polly) |
| hugepage_always |
Force transparent huge pages to always. On server-capable versions, disabling both hugepage flags uses madvise with server and always otherwise. |
| hugepage_madvise |
Force transparent huge pages to madvise. On server-capable versions, disabling both hugepage flags uses madvise with server and always otherwise. |
| hz_ticks_100 |
Set kernel timer frequency to 100 Hz (server/battery optimized) |
| hz_ticks_1000 |
Set kernel timer frequency to 1000 Hz (desktop optimized, default) |
| hz_ticks_250 |
Set kernel timer frequency to 250 Hz (balanced) |
| hz_ticks_300 |
Set kernel timer frequency to 300 Hz |
| hz_ticks_500 |
Set kernel timer frequency to 500 Hz |
| hz_ticks_600 |
Set kernel timer frequency to 600 Hz |
| hz_ticks_750 |
Set kernel timer frequency to 750 Hz |
| mgeneric_v1 |
Use x86-64-v1 generic optimizations (baseline x86-64) |
| mgeneric_v2 |
Use x86-64-v2 generic optimizations (requires CMPXCHG16B, LAHF-SAHF, POPCNT, SSE3, SSE4.1, SSE4.2, SSSE3) |
| mgeneric_v3 |
Use x86-64-v3 generic optimizations (requires AVX, AVX2, BMI1, BMI2, F16C, FMA, LZCNT, MOVBE, XSAVE) |
| mgeneric_v4 |
Use x86-64-v4 generic optimizations (requires AVX512F, AVX512BW, AVX512CD, AVX512DQ, AVX512VL) |
| preempt_full |
Full preemption model for lowest latency (PREEMPT) |
| preempt_lazy |
Lazy preemption model (PREEMPT_LAZY) |
| tickrate_full |
Use full tickless mode (NO_HZ_FULL) - can provide higher performance but lower consistency depending on hardware |
| tickrate_idle |
Use idle tickless mode (NO_HZ_IDLE) |
| tickrate_periodic |
Use periodic ticks (traditional approach) |