summary refs log tree commit diff
path: root/pkgs/os-specific/linux/kernel/linux-xanmod.nix
diff options
context:
space:
mode:
authorSamuel Gräfenstein <git@samuelgrf.com>2021-06-26 23:07:10 +0200
committerSamuel Gräfenstein <git@samuelgrf.com>2021-06-26 23:07:10 +0200
commit6f1dfda75dcca3f5d95d6aea970fd611433aedeb (patch)
treeca01a86ef8fd296f76588625d0b031d28367a6ca /pkgs/os-specific/linux/kernel/linux-xanmod.nix
parentbc088d1ccc01675dd926c3f7ec468ad49cdd5a8d (diff)
downloadnixpkgs-6f1dfda75dcca3f5d95d6aea970fd611433aedeb.tar
nixpkgs-6f1dfda75dcca3f5d95d6aea970fd611433aedeb.tar.gz
nixpkgs-6f1dfda75dcca3f5d95d6aea970fd611433aedeb.tar.bz2
nixpkgs-6f1dfda75dcca3f5d95d6aea970fd611433aedeb.tar.lz
nixpkgs-6f1dfda75dcca3f5d95d6aea970fd611433aedeb.tar.xz
nixpkgs-6f1dfda75dcca3f5d95d6aea970fd611433aedeb.tar.zst
nixpkgs-6f1dfda75dcca3f5d95d6aea970fd611433aedeb.zip
linux_xanmod: match all features on homepage
Diffstat (limited to 'pkgs/os-specific/linux/kernel/linux-xanmod.nix')
-rw-r--r--pkgs/os-specific/linux/kernel/linux-xanmod.nix26
1 files changed, 25 insertions, 1 deletions
diff --git a/pkgs/os-specific/linux/kernel/linux-xanmod.nix b/pkgs/os-specific/linux/kernel/linux-xanmod.nix
index 17e440f5bc6..b389532c01a 100644
--- a/pkgs/os-specific/linux/kernel/linux-xanmod.nix
+++ b/pkgs/os-specific/linux/kernel/linux-xanmod.nix
@@ -16,10 +16,34 @@ buildLinux (args // rec {
   };
 
   structuredExtraConfig = with lib.kernel; {
-    PREEMPT = lib.mkForce yes;
+
+    # Preemptive Full Tickless Kernel at 500Hz
     PREEMPT_VOLUNTARY = lib.mkForce no;
+    PREEMPT = lib.mkForce yes;
     NO_HZ_FULL = yes;
     HZ_500 = yes;
+
+    # Google's Multigenerational LRU Framework
+    LRU_GEN = yes;
+    LRU_GEN_ENABLED = yes;
+
+    # Google's BBRv2 TCP congestion Control
+    TCP_CONG_BBR2 = yes;
+    DEFAULT_BBR2 = yes;
+
+    # FQ-PIE Packet Scheduling
+    NET_SCH_DEFAULT = yes;
+    DEFAULT_FQ_PIE = yes;
+
+    # Graysky's additional CPU optimizations
+    CC_OPTIMIZE_FOR_PERFORMANCE_O3 = yes;
+
+    # Android Ashmem and Binder IPC Driver as module for Anbox
+    ASHMEM = module;
+    ANDROID = yes;
+    ANDROID_BINDER_IPC = module;
+    ANDROID_BINDERFS = module;
+    ANDROID_BINDER_DEVICES = freeform "binder,hwbinder,vndbinder";
   };
 
   extraMeta = {