Switch to a 300hz tickless kernel and enable BBR.
Aside from BBR, these settings are copied from arch linux.
This commit is contained in:
parent
ed0d1e41d6
commit
8e22d8febb
@ -34,60 +34,37 @@
|
||||
pkg.overrideAttrs (old: {
|
||||
NIX_CFLAGS_COMPILE = [ (old.NIX_CFLAGS_COMPILE or "") ] ++ flags;
|
||||
});
|
||||
addConfig =
|
||||
additionalConfig: pkg:
|
||||
pkg.override (oldconfig: {
|
||||
structuredExtraConfig = pkg.structuredExtraConfig // additionalConfig;
|
||||
});
|
||||
in
|
||||
{
|
||||
# linux
|
||||
# linux_6_11
|
||||
# linux_zen
|
||||
linux_znver4 = optimizeWithFlags super.linux_6_12 [
|
||||
linux_znver4 =
|
||||
addConfig
|
||||
{
|
||||
# Full preemption
|
||||
PREEMPT = lib.mkOverride 60 lib.kernel.yes;
|
||||
PREEMPT_VOLUNTARY = lib.mkOverride 60 lib.kernel.no;
|
||||
|
||||
# Google's BBRv3 TCP congestion Control
|
||||
TCP_CONG_BBR = lib.kernel.yes;
|
||||
DEFAULT_BBR = lib.kernel.yes;
|
||||
|
||||
# Preemptive Full Tickless Kernel at 300Hz
|
||||
HZ = lib.kernel.freeform "300";
|
||||
HZ_300 = lib.kernel.yes;
|
||||
HZ_1000 = lib.kernel.no;
|
||||
}
|
||||
(
|
||||
optimizeWithFlags super.linux_6_12 [
|
||||
"-march=znver4"
|
||||
"-mtune=znver4"
|
||||
];
|
||||
]
|
||||
);
|
||||
}
|
||||
)
|
||||
# (
|
||||
# self: super:
|
||||
# let
|
||||
# optimizeWithFlags =
|
||||
# pkg: flags:
|
||||
# pkg.overrideAttrs (old: {
|
||||
# NIX_CFLAGS_COMPILE = [ (old.NIX_CFLAGS_COMPILE or "") ] ++ flags;
|
||||
# });
|
||||
# addConfig =
|
||||
# additionalConfig: pkg:
|
||||
# pkg.override (oldconfig: {
|
||||
# structuredExtraConfig = pkg.structuredExtraConfig // additionalConfig;
|
||||
# });
|
||||
# in
|
||||
# {
|
||||
# linux_znver4 =
|
||||
# addConfig
|
||||
# {
|
||||
# # CPUFreq governor Performance
|
||||
# CPU_FREQ_DEFAULT_GOV_PERFORMANCE = lib.mkOverride 60 lib.kernel.yes;
|
||||
# CPU_FREQ_DEFAULT_GOV_SCHEDUTIL = lib.mkOverride 60 lib.kernel.no;
|
||||
|
||||
# # Full preemption
|
||||
# PREEMPT = lib.mkOverride 60 lib.kernel.yes;
|
||||
# PREEMPT_VOLUNTARY = lib.mkOverride 60 lib.kernel.no;
|
||||
|
||||
# # Google's BBRv3 TCP congestion Control
|
||||
# TCP_CONG_BBR = lib.kernel.yes;
|
||||
# DEFAULT_BBR = lib.kernel.yes;
|
||||
|
||||
# # Preemptive Full Tickless Kernel at 250Hz
|
||||
# HZ = lib.kernel.freeform "250";
|
||||
# HZ_250 = lib.kernel.yes;
|
||||
# HZ_1000 = lib.kernel.no;
|
||||
# }
|
||||
# (
|
||||
# optimizeWithFlags super.linux_6_11 [
|
||||
# "-march=znver4"
|
||||
# "-mtune=znver4"
|
||||
# ]
|
||||
# );
|
||||
# }
|
||||
# )
|
||||
];
|
||||
|
||||
boot.kernelPackages = lib.mkIf (!config.me.buildingIso) (pkgs.linuxPackagesFor pkgs.linux_znver4);
|
||||
|
Loading…
x
Reference in New Issue
Block a user