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: {
|
pkg.overrideAttrs (old: {
|
||||||
NIX_CFLAGS_COMPILE = [ (old.NIX_CFLAGS_COMPILE or "") ] ++ flags;
|
NIX_CFLAGS_COMPILE = [ (old.NIX_CFLAGS_COMPILE or "") ] ++ flags;
|
||||||
});
|
});
|
||||||
|
addConfig =
|
||||||
|
additionalConfig: pkg:
|
||||||
|
pkg.override (oldconfig: {
|
||||||
|
structuredExtraConfig = pkg.structuredExtraConfig // additionalConfig;
|
||||||
|
});
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
# linux
|
linux_znver4 =
|
||||||
# linux_6_11
|
addConfig
|
||||||
# linux_zen
|
{
|
||||||
linux_znver4 = optimizeWithFlags super.linux_6_12 [
|
# 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"
|
"-march=znver4"
|
||||||
"-mtune=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);
|
boot.kernelPackages = lib.mkIf (!config.me.buildingIso) (pkgs.linuxPackagesFor pkgs.linux_znver4);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user