diff --git a/nix/configuration/hosts/odo/optimized_build.nix b/nix/configuration/hosts/odo/optimized_build.nix index a9108fe..43d09b8 100644 --- a/nix/configuration/hosts/odo/optimized_build.nix +++ b/nix/configuration/hosts/odo/optimized_build.nix @@ -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 [ - "-march=znver4" - "-mtune=znver4" - ]; + 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);